如何调试损坏的 pdf 文件?

Joe*_*lio 5 pdf debugging corrupt adobe-reader

我使用名为“prawn”的 ruby​​ 库生成 pdf 文件。我有一个特定的文件,似乎被 adobe reader 视为“损坏”。它在预览和 adobe reader 中都显示良好。它给出如下错误:

有时我会得到:“找不到名为 '%s' 的 XObject。

有时我得到:“找不到名为“Im4”的 XObject。

然后我总是收到:“此页面存在错误。Acrobat 可能无法正确显示该页面。请联系创建 PDF 文档的人员来更正问题。”

有没有办法用某种工具打开 pdf 并让它告诉您 pdf 在技术上有什么问题?我确信我可以通过这样的事情很快弄清楚......

谢谢乔尔

mar*_*ens 1

PDF 是 PDF 对象的转储,因此听起来对象丢失或指向该对象的引用错误。您可以在文本编辑器中查看 PDF 并查看参考表,还可以在 Acrobat 中查看 PDF 对象(我在以下位置写了一篇关于此的博客文章(http://pdf.jpedal.org/java-pdf-blog/bid ) /10479/查看 PDF 对象)。

您最好的选择可能是使用 IText 等开源工具,它可以读取 PDF 并添加一些调试代码以使其显示对象结构。