微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有任何 pdf 分析器/调试器来调试 pdf 文件? created_pdf.pdfcreated_pdf_2.pdf

如何解决是否有任何 pdf 分析器/调试器来调试 pdf 文件? created_pdf.pdfcreated_pdf_2.pdf

是否有任何验证器或 PDF 分析器可以告诉我我创建的 PDF 有什么问题,并带有提示或指示器,我的 PDF 中的哪个对象是错误的或类似的东西?

我想更好地创建和理解 PDF 文件格式,我认为我应该非常接近可工作的 PDF,但我找不到其中的问题以及为什么 PDF 阅读器无法阅读它。

难道没有一个程序或在线服务至少可以给我一个提示,我的 pdf 结构有什么问题,或者问题出在哪里,甚至告诉我出了什么问题?如何调试类似的东西?

这里是 PDF 的链接(只是将附加的图像转换为 PDF): https://nonepatchwork.patchwork3d.de/create_pdf/created_pdf.pdf

an png image

在此向您致以诚挚的问候和感谢

富尔

解决方法

验证器或 PDF 分析器的请求不是关于堆栈溢出的主题,它更适合于 Software Recommendations 站点。因此,在这个答案中,我将重点分析提供的示例文件。

created_pdf.pdf

这里的一些问题立即跃入眼帘,特别是:

  • 您的页面对象 5 指向对象 6 作为内容流,但对象 6 不是内容流而是图像 xobject! (您可能打算指向对象 7。)
  • 您所有的交叉引用表偏移量都是错误的。
  • 预告片中的尺寸条目有误。
  • trailer 字典和 startxref 之间有一个 /ID

可能还有更多问题,但请先解决这些问题。

created_pdf_2.pdf

在这里您修复了上面列出的错误,但文件仍然没有按预期显示,特别是 Adob​​e Acrobat Reader 说:

Insufficient data for an image.

查看图像字典原因就很清楚了:

6 0 obj << 
        /Type /XObject 
        /Subtype /Image
        /Width 595.276
        /Height 841.89
        /ColorSpace /DeviceRGB 
        /BitsPerComponent 8 
        /Filter/DCTDecode
        /Interpolate true
        /Length 707
    >>  
    ...

WidthHeight 的值是浮点数,无效。此外,检查流中的实际图像数据可以清楚地看出这些值完全不正确,图像只有 20×20 大小。

因此,将 WidthHeight 条目替换为

        /Width 20
        /Height 20

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。