【问题标题】:Programmatically signed PDF document does not get the green checkmark after being signed using Acrobat Reader以编程方式签名的 PDF 文档在使用 Acrobat Reader 签名后未获得绿色复选标记
【发布时间】:2020-11-24 14:40:18
【问题描述】:

我已经编写了一个签署 PDF 文档的应用程序,现在我可以签署任何未签名的 PDF 文档,并且 Adob​​e Reader 显示绿色复选标记。此外,我可以对一个文件进行多个签名,结果还可以。

但如果我尝试使用 Adob​​e Reader 对文档进行签名,当我再次签名时,结果是最后一个签名之前的任何签名都没有得到绿色复选标记,因为 Acrobat 认为文档已更改。然后,如果我使用 Adob​​e Reader 和我的应用程序再次签署文档,下一个签名将再次获得绿色标记。 第一个 adobe 签名出现问题,但我不明白原因。

工作流程:

  1. 使用 Acrobat 签名 1 => 好的
  2. 我的应用程序的签名 2 => 以前的签名无效,但这没关系
  3. 签名 3 与 Acrobat => 签名 1 无效,但 2 和 3 都可以
  4. 我的应用程序的签名 4 => 签名 1 无效,但 2、3 和 4 都可以

您能帮我找出并纠正问题吗?

提前谢谢你。

文件:

【问题讨论】:

    标签: pdf pdf-generation digital-signature pkcs#7


    【解决方案1】:

    您更改 AcroForm 字典 DA 默认外观条目。

    在 Adob​​e 签名的文档中,AcroForm 字典如下所示:

    <</DA(/Helv 0 Tf 0 g )/DR<</Encoding<</PDFDocEncoding 8 0 R>>/Font<</Helv 6 0 R/MyriadPro-Regular 27 0 R/ZaDb 7 0 R>>>>/Fields[26 0 R]/SigFlags 3>>
    

    在您签署该文件后,它变为:

    <</DA(/Helv 0 Tf 0 g)/DR<</Encoding<</PDFDocEncoding 8 0 R>>/Font<</Helv 6 0 R/MyriadPro-Regular 27 0 R/ZaDb 7 0 R>>>>/Fields[26 0 R 35 0 R]/SigFlags 3>>
    

    即您删除了 DA 条目中的尾随空格字符。

    【讨论】:

      猜你喜欢
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      相关资源
      最近更新 更多