我有一个Python程序(使用pyPDF),它合并了许多不同的PDF文档。有时,生成的pdf很好,除了中间的一些空白页面。当我使用Acrobat Reader查看这些文档时,收到一条错误消息,指出“图像数据不足”。当我使用FoxIT Reader查看文档时,我得到一些空白页面和一个munged图像。
创建空白页面的PDF的唯一奇怪之处在于它似乎是PDF版本1.4,而PyPdf似乎创建了PDF版本1.3的文件。
1)版本问题听起来像是我问题的根本原因吗?
2)有没有办法让PyPdf正确处理这个问题?
答案 0 :(得分:2)
这可能与Windows有关,实际上与.pdf文件无关。
祝你好运!答案 1 :(得分:2)
我遇到了这个问题,并且能够通过在十六进制编辑器中与PyPDF并排查看原始pdf来解决这个问题。
问题似乎是PyPDF实际上留下了一个字节 - 看起来可能是每个图像流中的第一个字节丢失了。当我将字节添加到PyPDF文件时,pdf打开正常,没有错误。
答案 2 :(得分:1)
我怀疑图像XObject流是格式错误的。无法访问带有问题的PDF,所有大多数人都可以猜到。
例如,如果pdf信息表示图像宽10像素,高10像素,每像素8位,则流应解压缩为100字节。如果它未压缩到不到那个,我会发现一个像你所看到的错误。
对于你碰巧使用的任何图像格式,这可能是pypdf中的一个错误。
它也可能是一个糟糕的色彩空间。如果你有一个索引的彩色图像(gif),并且它们将它转换为RGB图像的一半,但是使用原始的索引颜色字节,你会得到一个可能期望每像素n * 3位的流,但仅限于每像素有n位。
这可能是一个在pypdf中修复的旧bug。您使用的是当前版本吗?