是否有任何 pdf 分析器/调试器来调试 pdf 文件?
Is there any pdf analyser / debugger to debug a pdf file?
是否有任何验证器或 PDF 分析器可以通过提示或指示器告诉我我创建的 PDF 有什么问题我的 PDF 中的哪个对象是错误的或类似的东西?
我想更好地创建和理解 PDF 文件格式,我认为我应该非常接近工作 PDF,但我找不到其中的问题以及为什么 PDF 阅读器无法阅读它。
难道没有一个程序或在线服务至少可以提示我的 pdf 结构有什么问题或问题出在哪里,甚至可以告诉我哪里出了问题?如何调试类似的东西?
这里是 PDF 的 link(只是将附件图像转换为 PDF):
https://nonepatchwork.patchwork3d.de/create_pdf/created_pdf.pdf
致以最诚挚的问候,并在此先感谢您
富丘尔
对 验证器或 PDF 分析器的请求 不是关于堆栈溢出的主题,它更适合 Software Recommendations 站点。因此,在这个答案中,我将重点分析提供的示例文件。
created_pdf.pdf
这里有许多问题立即引起人们的注意,特别是:
- 您的页面对象 5 指向对象 6 作为内容流,但对象 6 不是内容流而是图像 xobject! (您可能是想指向对象 7。)
- 你所有的交叉引用 table 偏移量都是错误的。
- 预告片中的 Size 条目是错误的。
- 在 trailer 字典和 startxref 之间有一个
/ID
。
可能还有更多问题,但请先解决这些问题。
created_pdf_2.pdf
您在此处修复了上面列出的错误,但文件仍未按预期显示,Adobe Acrobat Reader 特别指出:
查看图像字典,原因就很清楚了:
6 0 obj <<
/Type /XObject
/Subtype /Image
/Width 595.276
/Height 841.89
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter/DCTDecode
/Interpolate true
/Length 707
>>
...
宽度和高度的值是无效的浮点数。此外,检查流中的实际图像数据,很明显这些值完全不正确,图像的大小仅为 20×20。
因此,将 Width 和 Height 条目替换为
/Width 20
/Height 20
是否有任何验证器或 PDF 分析器可以通过提示或指示器告诉我我创建的 PDF 有什么问题我的 PDF 中的哪个对象是错误的或类似的东西?
我想更好地创建和理解 PDF 文件格式,我认为我应该非常接近工作 PDF,但我找不到其中的问题以及为什么 PDF 阅读器无法阅读它。
难道没有一个程序或在线服务至少可以提示我的 pdf 结构有什么问题或问题出在哪里,甚至可以告诉我哪里出了问题?如何调试类似的东西?
这里是 PDF 的 link(只是将附件图像转换为 PDF): https://nonepatchwork.patchwork3d.de/create_pdf/created_pdf.pdf
致以最诚挚的问候,并在此先感谢您
富丘尔
对 验证器或 PDF 分析器的请求 不是关于堆栈溢出的主题,它更适合 Software Recommendations 站点。因此,在这个答案中,我将重点分析提供的示例文件。
created_pdf.pdf
这里有许多问题立即引起人们的注意,特别是:
- 您的页面对象 5 指向对象 6 作为内容流,但对象 6 不是内容流而是图像 xobject! (您可能是想指向对象 7。)
- 你所有的交叉引用 table 偏移量都是错误的。
- 预告片中的 Size 条目是错误的。
- 在 trailer 字典和 startxref 之间有一个
/ID
。
可能还有更多问题,但请先解决这些问题。
created_pdf_2.pdf
您在此处修复了上面列出的错误,但文件仍未按预期显示,Adobe Acrobat Reader 特别指出:
查看图像字典,原因就很清楚了:
6 0 obj <<
/Type /XObject
/Subtype /Image
/Width 595.276
/Height 841.89
/ColorSpace /DeviceRGB
/BitsPerComponent 8
/Filter/DCTDecode
/Interpolate true
/Length 707
>>
...
宽度和高度的值是无效的浮点数。此外,检查流中的实际图像数据,很明显这些值完全不正确,图像的大小仅为 20×20。
因此,将 Width 和 Height 条目替换为
/Width 20
/Height 20