【问题标题】:PDF becoming corrupted after signing签名后 PDF 损坏
【发布时间】:2021-06-09 12:02:10
【问题描述】:

我正在编写一个用于签署 PDF 的 TypeScript 库。对于大多数 PDF,它工作正常。但是,某些 PDF 在 Acrobat 中呈现为已损坏。

我似乎无法弄清楚他们有什么问题。我注意到那些损坏的文件使用外部参照流,但是当我解析签名文件的外部参照流时,它似乎没问题。

我还查看了文件的整个结构,似乎一切正常(没有损坏的对象等)

我发现调试 PDF 非常困难,因为我从 Acrobat 得到的所有信息都是“打开此文档时出错。文件已损坏,无法修复。”

这是resulting PDF,如果有人想看一下,它会显示为已损坏。

编辑:源代码非常庞大,如果您愿意,我可以发布它。但是,如果有人帮助我调试 PDF 文件本身,并告诉我是否有更容易调试 PDF 文件的方法,我更愿意

【问题讨论】:

  • 我的回答有帮助吗?还是这仍然是一个悬而未决的问题?
  • 感谢您的回答。我解决了,我认为实际上还有更多问题。如果他们偶然发现类似的事情,我会尝试记住他们并发布答案以尝试帮助其他人

标签: pdf adobe acrobat


【解决方案1】:

PDF 的交叉引用流长 88 个字节,匹配 /W[1 3 0] 的 22 个对象条目。但是,给定 /Size 23,应该有 23 个对象条目。

此外,检查条目有一个转变,对象 1 的条目指向对象 2,对象 2 的条目指向对象 3,等等。

因此,您可能丢弃了对象 1。

似乎还有其他问题。例如。尽管/Size 23 你有一个对象 24。

您应该彻底检查交叉引用流的生成。

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多