一个非常奇怪的pdf文档:在Adobe中只有一半可见reader

A very weird pdf document: only half visible in Adobe reader

我在这里发现了一个很奇怪的PDF文档:

This is the PDF document

在Adobe reader中打开时,只有一半内容可见;而如果我更改为 SumatraPDF reader,则所有内容都可见。

这份文件发生了什么事?以及如何修复它以使其在 Adob​​e reader?

中正常

Acrobat X 显示 'an error exists on this page...' 这就是只有一半可见的原因。它绘制到错误发生的位置。

SumatraPDF 基于 MuPDF,显然 MuPDF 更能容忍这种特殊的 class 损坏的 PDF 文件。可悲的是,Acrobat 通常非常宽容,大多数时候甚至懒得发出警告。

Ghostscript 给了我 2 个警告;首先,它需要一个数字,但没有得到,所以它用 0 替换了它,其次,一个无效的阴影被忽略了。

实际问题是对象 90 中的着色字典:

90 0 obj
<<
  /BBox [ 0.0260000005 0.467999995 0.973999977 ]

边界框需要有 4 个值,而这个只有 3 个,所以它是无效的。

修复一个PDF文件并不容易,最好的办法是用修复工具重新制作。文件是压缩文件,修改前需要先解压,然后猜猜缺失值应该是多少。