0

私はpdfboxと手でpdfを構築しました。私はpdfにも目に見える署名を持っています。すべてが機能しますが、PDF に画像とテキストが表示されません (ただし、画像とテキストのない四角形が表示されます)。何が起こると思いますか?

サンプルは見えますか? それはサンプルです

ここに画像の説明を入力 ありがとうございました。

ここに画像の説明を入力

4

2 に答える 2

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]署名フィールド ディクショナリの /Rect [100 574 310 625] は、署名がある長方形の領域を示しているため、(実際には、問題の署名を選択した後に)長方形が表示されます。

  2. 通常の外観ストリーム (署名フィールド辞書の/AP << /N 6 0 R >>によると、オブジェクト 6 で定義されている) が空のストリームとして定義されているため (何もない) 、PDF に表示される画像とテキストはありません。ただし、ストリームとエンドストリームの間の空白)。

    ほとんどの場合、外観ストリームのリソースで定義された 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を配置するのを忘れています。

    これらの xobjects は正しく定義されているように見えますが、統合された 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. 符号付きバイト範囲は空です。2 つのセグメントで構成され、どちらもオフセット 0 から始まり、長さは 0 バイトです。
  4. 含まれる署名コンテナー自体は、0x00 バイトのみで構成されます。
于 2013-07-07T15:00:27.570 に答える