外部参照表 - 如果其中一个外部参照预告片具有/ prev 0条目,如何恢复PDF文件

时间:2015-07-06 13:40:39

标签: parsing pdf

偏移666027的XRef表有/上一个条目为0,这似乎是错误的,如何处理这样的pdf,如何在这种情况下得到实际/上一个? 请查看附件pdf http://www.filedropper.com/hackermonthly-issue-11

1 个答案:

答案 0 :(得分:2)

Acrobat像往常一样打开它,但随后想在结束时保存它。这表明它“修复”了文件;可能是通过枚举文件中的对象并忽略外部参照表。

从技术上讲,文件已损坏,没有正确的方法可以“处理”它。打开然后使用Acrobat保存它可能适用于某些文件,但它不完全是故障安全的; Acrobat仍然需要猜测哪些对象仍然有效,哪些对象无效。

PDF最初是使用Adobe InDesign CS5创建的,不知道它会生成错误的PDF,并且可以假设用于添加注释的工具损坏了文件。粗略地浏览一下文件的末尾就可以确认:startxref偏移量偏离了几个字节,当用十六进制编辑器修复它时,你只能找到 previous { {1}}(对于另一个注释)关闭了几个字节 - 此时我放弃了并且没有进一步检查。因此,无论您使用哪种工具来注释PDF,都不要再使用它了。