pd中“图像数据不足”的原因

2024-05-16 21:05:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用Python编写的程序(使用pyPDF),它合并了一堆不同的PDF文档。有时,得到的PDF是好的,除了中间的一些空白页。当我使用Acrobat Reader查看这些文档时,会收到一条错误消息:“图像数据不足”。当我用FoxIT Reader查看文档时,我会得到一些空白页和一个带咀嚼条的图像。

关于创建空白页的PDF唯一奇怪的事情是它似乎是PDF版本1.4,而PyPdf似乎用PDF版本1.3创建文件。

1)版本问题听起来像是我问题的根源吗?

2)有没有办法让PyPdf正确处理这个问题?


Tags: 数据文档图像程序版本消息pdf错误
3条回答

这可能与Windows有关,而不是.pdf文件。

http://support.microsoft.com/kb/2506795

祝你好运!

我遇到了这个问题,并且能够通过在hex编辑器中同时查看原始pdf和PyPDF来解决这个问题。

问题似乎是PyPDF实际上遗漏了一个字节——看起来每个图像流中的第一个字节可能丢失了。当我将字节添加到PyPDF文件中时,pdf打开得很好,没有出现错误。

我怀疑图像XObject流格式不正确。如果没有问题的PDF文件,大多数人只能猜测。

例如,如果pdf信息显示图像宽10像素,高10像素,每像素8位,那么流应该解压缩到100字节。如果它的压缩比这个小,我会期待一个像你看到的那样的错误。

这可能是pypdf中关于您使用的任何图像格式的错误。

IIRC,PDF中没有扫描行填充,也不考虑单词边界,不过如果需要的话,最后一个位会填充到一个字节。混淆很容易导致字节过多,这不是问题所在。

这也可能是一个糟糕的颜色空间。如果你有一个索引的彩色图像(gif),他们把它转换成RGB图像的一半,但是使用原始的索引颜色字节,你会得到一个流,它可能期望每像素n*3位,但是每像素只有n位。

这可能是一个在pypdf中已经修复的旧错误。你在用现在的版本吗?

相关问题 更多 >