0

悪い英語を許してください。最初のドキュメントのページを置き換えて、代わりに 2 番目のドキュメントのページを挿入します。itextsharp 5.3.3 を使用しています。2 番目のドキュメントのページには画像が含まれています。私のコード:

reader1:=New iTextSharp.text.pdf.PdfReader (file_name_1);

reader2:=New iTextSharp.text.pdf.PdfReader (file_name_2);

Document:= New iTextSharp.text.Document();

Document.Compress:=False;

For i:=4 To reader1.NumberOfPages Do

reader1.SetPageContent(i,reader2.GetPageContent(i));    

End For;

Stamper:=New iTextSharp.text.pdf.PdfStamper(reader1, New System.IO.FileStream(new_file_name, System.IO.FileMode.CreateNew));

stamper.Close();

その結果、新しいドキュメントの画像が混同されました。私は何を間違っていますか?助けてくれてありがとう!

4

1 に答える 1

2

あなたのコードは多くのレベルで間違っています。リソースをコピーせずにコンテンツ ストリームをコピーしています。私は二度とそのようなコードを見たくありません!

http://www.manning.com/lowagie2/samplechapter6.pdfをお読みください

課題を達成する最善の方法は、 を使用することPdfCopyです。2 つのオブジェクトを作成PdfReaderし、2 番目のリーダーから 4 つの PdfImportedPage オブジェクトを追加し、その後PdfImportedPageに最初のリーダーのオブジェクトを 5 ページから追加します。

次のコード サンプルを参考にしてください。

http://itextpdf.com/examples/iia.php?id=123

http://kuujinbo.info/iTextInAction2Ed/index.aspx?ch=Chapter06&ex=連結

オリジナルのアプローチを使用することを勧めるページを見つけた場合は、そのページを削除するための措置を取ることができるようにお知らせください。itextpdf.com でこのページを見つけた場合は、ドキュメントを読まずにこれらの例を使用しないでください。

于 2012-12-03T08:38:09.173 に答える