pdf中缺少的东西 - pdf上没有文字和图像

时间:2013-07-06 10:58:46

标签: pdf adobe digital-signature pdfbox adobe-reader

我用pdfbox和手工制作pdf。我在pdf上也有Visible签名。一切正常,但PDF中没有图像和文字显示(但有可见的矩形,没有图像和文字)。您认为会发生什么?

你能看到样品吗? that's sample

enter image description here 谢谢。

enter image description here

2 个答案:

答案 0 :(得分:0)

Acrobat说:

"Error during signature verification.  

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

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

并且/ n0 / n1资源中的XObjects没有pdf指令。

答案 1 :(得分: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&lt;&lt; / N 6 0 R&gt;&gt; < / strong>在您的签名字段中,字段定义在对象6中,被定义为空流( endstream 之间只有空格)。

    您很可能想要在外观流的资源中定义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签名的早期样本中复制而来。

  3. 关于@stanlyF观察到的Adobe 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. 字典既没有 /过滤器,也没有 / SubFilter 条目。虽然名义上需要过滤器并且子过滤器是可选的,但是可互操作的签名主要取决于子过滤器并且过滤器被忽略。因此支持信息。
    2. / Name 条目很奇怪,因为它指定包含签署文档的人员或机构的名称(如果存在)
    3. 带符号的字节范围为空:它由两个序列组成,它们都从偏移量0开始,长度为0个字节。
    4. 包含的签名容器本身仅包含0x00字节。