gpt4 book ai didi

pdf-generation - PNG 图像未显示在 PDF 中

转载 作者:行者123 更新时间:2023-12-04 23:11:10 25 4
gpt4 key购买 nike

我正确编码了我的 PNG 图像。它是灰度,8 位。图像为 5100(w) x 6600(h)。 MediaBox 是 5100.0 6600.0。

图片:

3 0 obj
<<
/ProcSet [/PDF /ImageB]
/XObject <<
/Im8 8 0 R
>>
>>
endobj


8 0 obj
<<
/Type /XObject
/Subtype /Image
/BitsPerComponent 8
/ColorSpace /DeviceGray
/Height 6600
/Width 5100
/Filter /FlateDecode
/Length 590065
>>
stream
....zlib compressed stream

图像变换:

9 0 obj
<</Length 54>>
stream
q
5100 0 0 6600 0 0 cm
/Im8 Do
Q
endstream
endobj

页面:

10 0 obj
<<
/Type /Page
/Parent 2 0 R
/CropBox [0.0 0.0 5100.0 6600.0]
/MediaBox [0.0 0.0 5100.0 6600.0]
/Resources 3 0 R
/Contents [ ]
>>
endobj

图像未显示。我逐个像素地验证。

该流总共包含 33666600 (5100x6600 + 6600) 字节。其中 6600 个表示使用了 Predictor。在我的例子中是/Predictor 13。

我写了这 33666600 字节,即只压缩了 IDAT。

也许坐标?压缩?我在这里缺少什么?

最佳答案

如果您查看 ISO-32000-1(PDF 标准),您会发现 PDF 不支持 PNG。您正在使用 /FlateDecode 过滤器,这意味着您告诉 PDF 查看器图像作为压缩位图存储在 PDF 文件中。如果您存储压缩的 PNG,PDF 查看器将不知道如何呈现它。 (更新:您最近的更新表明您确实将图像存储为位图。)

此外:在您的页面字典(对象 10)中,您将页面的 /Contents 存储为 PDF 数组,但该数组为空。它应该是 [ 9 0 R ]

在您的代码示例中,您还忘记了复制/粘贴 endstream 关键字。

关于pdf-generation - PNG 图像未显示在 PDF 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20675310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com