【发布时间】:2015-02-26 07:54:21
【问题描述】:
我在这里发现了一个非常奇怪的 PDF 文档:
在 Adobe reader 中打开时,只能看到一半的内容;而如果我换成 SumatraPDF 阅读器,那么所有的内容都是可见的。
此文档发生了什么?以及如何修复它以使其在 Adobe 阅读器中正常?
【问题讨论】:
标签: pdf
我在这里发现了一个非常奇怪的 PDF 文档:
在 Adobe reader 中打开时,只能看到一半的内容;而如果我换成 SumatraPDF 阅读器,那么所有的内容都是可见的。
此文档发生了什么?以及如何修复它以使其在 Adobe 阅读器中正常?
【问题讨论】:
标签: pdf
Acrobat X 说“此页面上存在错误...”这就是为什么只有一半可见。它绘制到发生错误的位置。
SumatraPDF 基于 MuPDF,显然 MuPDF 更能容忍这种特定类别的损坏 PDF 文件。可悲的是,Acrobat 通常非常宽容,甚至大部分时间都懒得发出警告。
Ghostscript 给了我 2 个警告;首先它需要一个数字但没有得到一个,所以它用 0 替换它,其次是一个无效的阴影被忽略了。
实际的问题是对象 90 中的着色字典:
90 0 obj
<<
/BBox [ 0.0260000005 0.467999995 0.973999977 ]
Bounding Boxes 必须有 4 个值,而这个只有 3 个,所以它是无效的。
修复PDF文件并不容易,最好的解决方案是使用固定工具重新制作。文件是压缩过的,所以你需要先解压才能修改它,然后你就必须猜测缺失的值应该是什么。
【讨论】: