複数の動的に生成された PDF ファイルの結合: iTextSharp アプローチ
コンテキスト:
この質問は結合に関するものですリアルタイムで動的に生成される複数の PDF ファイル。目的は、印刷目的でこれらのファイルを結合することです。
解決策:
iTextSharp を使用して複数の PDF ファイルを結合するには、主に 2 つの方法があります:
1. PdfCopy クラス
コンテンツとインタラクティブな注釈を保持しながら、ページを元の形式で結合することが目的の場合は、PdfCopy クラスを使用する必要があります。 PdfCopy を使用したサンプルを以下に示します。
// Assuming pdf is a List<byte[]> containing in-memory PDF documents using (MemoryStream ms = new MemoryStream()) { using (Document document = new Document()) { using (PdfCopy copy = new PdfCopy(document, ms)) { document.Open(); for (int i = 0; i < pdf.Count; ++i) { PdfReader reader = new PdfReader(pdf[i]); int n = reader.NumberOfPages; for (int page = 0; page < n; ) { copy.AddPage(copy.GetImportedPage(reader, ++page)); } } } } mergedPdf = ms.ToArray(); }
2. PdfWriter クラス
あるいは、一般的な形式をカスタマイズし、インタラクティブな注釈を無視して、ソース文書のページを新しい文書に統合することが目標の場合は、PdfWriter クラスを使用する必要があります。このクラスは他の PDF ドキュメントからページをインポートしますが、そのインタラクティブな機能は破棄します。
追加の考慮事項:
解決策は次のとおりです。プロジェクトの特定の要件に基づいて選択されます。
以上がiTextSharp を使用して、動的に生成された複数の PDF を結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。