0

我已经用 pdfbox 和手工构建了 pdf。我在 pdf 上也有 Visible 签名。一切正常,但 PDF 中没有显示图像和文本(但有可见的矩形,没有图像和文本)。你觉得会发生什么?

你能看到样品吗? 那是样本

在此处输入图像描述 谢谢你。

在此处输入图像描述

4

2 回答 2

0

杂技演员 说:

"Error during signature verification.  

Signature contains incorrect, unrecognized, corrupted or suspicious data.
Support Information: SigDict /SubFilter value"

签名的内容关闭标记不正确/不完整。

而且资源中的 /n0 /n1 XObjects 也没有 pdf 说明。

于 2013-07-07T05:11:35.720 回答
0

我已经用 pdfbox 和手工构建了 pdf。[...] PDF 中没有显示图像和文本(但有可见的矩形,没有图像和文本)。

这正是您构建文档的目的,尤其是与签名相关的数据:

3 0 obj
<<
/FT /Sig
/F 132
/T (Signature1)
/Type /Annot
/Subtype /Widget
/V 5 0 R
/P 4 0 R
/Rect [100 574 310 625]
/AP << /N 6 0 R >>
/DR << /XObject << /FRM0 7 0 R >> >>
>>
endobj 
6 0 obj
<<
/Type /XObject
/Subtype /Form
/Resources << /XObject << /FRM0 7 0 R >> >>
/BBox [0 0 100 100]
/FormType 1
/Length 8 0 R
>>
stream

endstream
endobj 
  1. 有一个可见的矩形(实际上是在选择相关签名之后),因为您的签名字段字典中的/Rect [100 574 310 625]表示您有签名的矩形区域。

  2. PDF 中没有显示图像和文本,因为正常外观流(根据您的签名字段字典中的/AP << /N 6 0 R >>在对象 6 中定义)被定义为空流(没有但streamendstream之间的空白)。

    您很可能希望将定义的 xobject /FRM0放置在外观流的资源中。在这种情况下,您在该 xobject 中会遇到同样的问题:

    7 0 obj
    <<
    /Type /XObject
    /Subtype /Form
    /Resources << /XObject << /n0 9 0 R /n1 10 0 R >> >>
    /BBox [0 0 100 100]
    /FormType 1
    /Length 11 0 R
    >>
    stream
    
    endstream
    endobj 
    

    该流也是空的,您忘记放置 xobjects /n0/n1

    这些 xobject 看起来定义正确,但似乎是从集成 PDF 签名早期的样本中复制而来的。

关于@stanlyF 观察到的 Adob​​e Acrobat 错误消息:

Error during signature verification.  

Signature contains incorrect, unrecognized, corrupted or suspicious data.
Support Information: SigDict /SubFilter value

签名值字典也不完整:

5 0 obj
<<
/Type /Sig
/Name (sig1)
/ByteRange [0 0 0 0]
/Contents <0000...0000>
>>
endobj 
  1. 字典既没有/Filter也没有/SubFilter条目。虽然名义上过滤器是必需的并且子过滤器是可选的,但可互操作的签名主要取决于子过滤器并且过滤器被忽略。因此支持信息。
  2. /Name条目很奇怪,因为它被指定包含签署文档的人或机构的名称(如果存在)
  3. 有符号字节范围是空的:它由两个 seqgment 组成,它们都从偏移量 0 开始,长度为 0 字节。
  4. 包含的签名容器本身仅包含 0x00 字节。
于 2013-07-07T15:00:27.570 回答