2016-04-25 7 views
0

PDFバージョン管理システムを使用して、一部のデータをPDFのページに追加しようとしています(例:有効なPDFはそれ自身のXREFで、それ以外は何もありません)。元のページオブジェクトを変更してPDFページにデータを追加することは可能ですか?

今私は概念の証明をしようとしています。オレンジ色の四角形を既存のページに追加することはできますが、元のページオブジェクトを解析し、Contents配列を変更し、追加しているデータを追加する必要があります。例:

オリジナルページ:

5 0 obj 
<< 
/Parent 4 0 R 
/Contents[2 0 R 8 0 R 3 0 R] 
/Type 
    /Page 
/Resources 
    << 
    /ExtGState 
    << 
    /GSa 6 0 R 
    >> 
    /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] 
    /XObject 
    << 
    /Im9 9 0 R 
    >> 
    /ColorSpace 
    << 
    /CSp/DeviceRGB/CSpg/DeviceGray/PCSp 7 0 R 
    >> 
    /Font 
    << 
    /F11 10 0 R 
    /F6 11 0 R 
    /Xi0 1 0 R 
    >> 
    >> 
/MediaBox[0 0 595 842] 
/Annots 12 0 R 
>> 
endobj 

変更されたページ:あなたは、私はちょうどで自分自身のデータ(オレンジ色の四角形を挿入する内容の配列を変更しています見ることができるように

5 0 obj 
<< 
/Parent 4 0 R 
/Contents[2 0 R 8 0 R 3 0 R 2 0 R 901 0 R 3 0 R] 
/Type 
    /Page 
/Resources 
    << 
    /ExtGState 
    << 
    /GSa 6 0 R 
    >> 
    /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] 
    /XObject 
    << 
    /Im9 9 0 R 
    >> 
    /ColorSpace 
    << 
    /CSp/DeviceRGB/CSpg/DeviceGray/PCSp 7 0 R 
    >> 
    /Font 
    << 
    /F11 10 0 R 
    /F6 11 0 R 
    /Xi0 1 0 R 
    >> 
    >> 
/MediaBox[0 0 595 842] 
/Annots 12 0 R 
>> 
endobj 

オブジェクトID「901」)。

元のページオブジェクトを変更すると、同じ結果が得られますか?&

答えて

1

/Contents配列は直接オブジェクトなので、ページオブジェクト全体を変更してページオブジェクトを解析し、新しい/ Contents配列で書き直す必要があります。

/Contentsが間接オブジェクトの場合、ページオブジェクトに触れることなく配列のみを変更できました。

関連する問題