Pythonを使ってPDFファイルを1つのPDFにマージする
IronPDF for PythonはPdfDocument.Merge()メソッドを使用して複数のPDFドキュメントを単一ファイルにマージするための直接的な解決策を提供し、2ファイルのマージ双方とバッチ操作の両方をサポートして多くのPDFを効率的に組み合わせます。
PDF(Portable Document Format)は、プラットフォームやアプリケーションに関係なく同一に見えるべきドキュメントの共有に標準です。 レポートを統合したり、スキャンされたドキュメントを結合したり、複数の部品からなるフォームを組み立てたり、さまざまなソースからPDFコンテンツを結合することは、ビジネスやデータ処理のワークフローで繰り返される必要があります。
IronPDFはこの操作をPythonで1つのメソッド呼び出しで処理します。 このガイドは、インストール、基本的な2つのファイルのマージ、および一度に複数のドキュメントを結合するためのバッチ操作をカバーします。
クイックスタート: Python で PDF ファイルを結合する
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-1.pyfrom ironpdf import *
renderer = ChromePdfRenderer()
pdf_a = renderer.RenderHtmlAsPdf("<p>Document A</p>")
pdf_b = renderer.RenderHtmlAsPdf("<p>Document B</p>")
merged = PdfDocument.Merge([pdf_a, pdf_b])
merged.SaveAs("merged.pdf")
最小限のワークフロー(5ステップ)
- PDFファイルをマージするため for Pythonライブラリをインストールする。
RenderHtmlAsPdfを使用して個々のPDFファイルを生成するか、PdfDocument.FromFileを使用して既存のPDFをロードしますMergeメソッドを適用して、PDFファイルを1つのPdfDocumentに結合します- マージしたドキュメントを
SaveAsで保存します。 - 複数のPDFの場合、
PdfDocumentオブジェクトのリストをMergeに渡します
Python用IronPDFはどのようにインストールしますか?
IronPDFはpipを介してPythonパッケージとして利用可能です。Python 3.xが必要で、WindowsおよびLinuxで動作し、標準のマージ操作に必要な追加のシステム依存関係はありません。 パッケージには、HTMLからPDFへの変換を内部的に処理するChromeベースのレンダリングエンジンが付属しています。
次のコマンドを使用して、pipでIronPdfライブラリをインストールします:
pip install ironpdf
"モジュールが定義されていない"エラーや権限の問題などの一般的な問題に関する詳細なインストール手順とサポートについては、公式ドキュメントを参照してください。
必要なインポートステートメントは何ですか?
Pythonスクリプトで、IronPDFのPDF生成およびマージ機能にアクセスするために次のインポートステートメントを含めてください:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-3.pyfrom ironpdf import *
# Set your license key for production use
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
本番アプリケーションでは、ライセンスキーを設定して、IronPDFのフル機能セットのロックを解除してください。 無料トライアルが利用可能です - 無料トライアルを開始して購入せずに始めましょう。
Pythonで2つのPDFファイルをマージするにはどうすればよいですか?
PythonでのPDFファイルのマージは二つのステップを含みます:ソースPDFドキュメントを作成しPdfDocument.Merge()で結合します。 このメソッドはPdfDocumentオブジェクトのリストを受け入れ、そのリスト内の項目が現れる順に新しい合成ドキュメントを作成します。
以下は完全に動作する例です:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-4.pyfrom ironpdf import *
# HTML content for the first PDF
html_a = """<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>"""
# HTML content for the second PDF
html_b = """<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>"""
# Initialize renderer
renderer = ChromePdfRenderer()
# Convert each HTML string to a PDF document
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
# Merge the two documents into one
merged = PdfDocument.Merge([pdfdoc_a, pdfdoc_b])
# Save the merged result to disk
merged.SaveAs("Merged.pdf")
なぜPDF生成にRenderHtmlAsPdfを使うのですか
上記の例は、2つのHTML文字列を使用し、それぞれが2ページの文書を表しています。 PdfDocumentオブジェクト用のIronPDFのChromeベースレンダリングエンジンを使用して正確な結果をHTML、CSS、およびJavaScriptコンテンツから製造します。 このアプローチは、ウェブテンプレートからのレポートやデータ駆動型ドキュメントの生成に最適です。 より複雑なレンダリングシナリオについては、HTMLからPDFへのチュートリアルを参照してください。
Mergeメソッドに直接渡すことができます。 これは既存のレポートや外部で生成されたドキュメントを結合する場合に便利です。マージ メソッドはどのように機能しますか?
PdfDocumentオブジェクトを単一の引数として受け入れます。 リスト順でドキュメントを結合し、最初のドキュメントのすべてのページを2番目のドキュメントのすべてのページの前に配置します。 結果はさらに変更保存が可能な新しいPdfDocumentです。 ページ数、ブックマーク、および各ソースドキュメントからの埋め込みコンテンツは、出力で全て保持されます。
メソッドは同じリストでレンダリングされたドキュメントとファイルロードされたドキュメントの任意の組み合わせを受け入れます。これはレポートの一部が動的に生成され、もう一部が静的テンプレートであるときに有用です。
PDFマージ結果をどのように保存しますか?
マージされたドキュメントをディスクに書き込むため、SaveAsに希望する出力パスを渡します:
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/save-merged.py
# Save the merged document
merged.SaveAs("Merged.pdf")
# Optionally compress images before saving to reduce file size
merged.CompressImages(90)
merged.SaveAs("Merged_Compressed.pdf")#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/save-merged.py
# Save the merged document
merged.SaveAs("Merged.pdf")
# Optionally compress images before saving to reduce file size
merged.CompressImages(90)
merged.SaveAs("Merged_Compressed.pdf")保存後、大きな結合ドキュメントのファイルサイズを削減するためのPDF圧縮などの追加の後処理を適用できます。
Pythonで2つ以上のPDFファイルを結合する方法は?
IronPDFでのバッチ結合は、2つのドキュメントを結合する場合と同じパターンに従います。 唯一の違いは、PdfDocumentオブジェクトがリストに追加されることです。 このメソッドは、一度の操作で数十または数百のドキュメントを処理するようにスケーリングします。
結合するドキュメント数にかかわらず、2つまたは200のドキュメントを結合する場合でも、同じAPIです。 高ボリュームのシナリオ、たとえば夜間のレポート集約やドキュメントアセンブリパイプラインなどでは、IronPDFは結合前にレンダリングフェーズを高速化するために並列PDF生成もサポートしています。
プロセスには2つのステップがあります:
- マージするための
PdfDocumentオブジェクトを含むPythonリストを作成する - リストを
PdfDocument.Mergeの引数として渡す
リストで複数のPDFを結合する方法
以下のコードは、4つのHTMLレンダリングされたドキュメントを一度に結合します:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-6.pyfrom ironpdf import *
# HTML content for each document
html_a = """<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>"""
html_b = """<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>"""
html_c = """<p> [PDF_C] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_C] 2nd Page</p>"""
html_d = """<p> [PDF_D] Content Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_D] Summary Page</p>"""
renderer = ChromePdfRenderer()
# Render all four documents
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
pdfdoc_c = renderer.RenderHtmlAsPdf(html_c)
pdfdoc_d = renderer.RenderHtmlAsPdf(html_d)
# Collect into a list and merge
pdfs = [pdfdoc_a, pdfdoc_b, pdfdoc_c, pdfdoc_d]
pdf = PdfDocument.Merge(pdfs)
# Save the combined document
pdf.SaveAs("merged_multiple.pdf")
最終ドキュメントのページ順序はMergeに渡されたリストによって決定されます。 リスト内の要素を並べ替えることで、追加のコードなしで出力順序を変更できます。 マージする前にドキュメントを並べ替える必要があるなら、たとえば日付やレポート番号で、Pythonリストを最初に並べ替えそれをMergeに渡します。
ディスクにある既存のPDFファイルを結合する方法
新しくレンダリングされたものではなく既存のPDFファイルを組み合わせる場合、PdfDocument.FromFileを使用して各ファイルを読み込みマージする前に。 これは他のシステムによって生成されたファイルを扱うときの典型的なパターンです - スキャンされたドキュメント、サードパーティのレポートエクスポート、または異なるツールによって生成されたPDFなど。 IronPDFはファイルをメモリ内のPdfDocumentオブジェクトとして読み込んでそれをマージ、変更、または最終保存前に検査できます。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-7.pyfrom ironpdf import *
# Load existing PDF files from disk
existing_pdf1 = PdfDocument.FromFile("report1.pdf")
existing_pdf2 = PdfDocument.FromFile("report2.pdf")
existing_pdf3 = PdfDocument.FromFile("report3.pdf")
# Merge all loaded documents
merged_existing = PdfDocument.Merge([existing_pdf1, existing_pdf2, existing_pdf3])
# Save the combined result
merged_existing.SaveAs("merged_reports.pdf")
PythonでPDFを結合する次のステップは何ですか?
このガイドは、IronPDFを使用したPDFマージのための2つの主要なパターンをカバーしました:HTMLコンテンツをPDFドキュメントにレンダリングしてからPdfDocument.Mergeで結合すること、およびディスクから既存ファイルを読み込みバッチ組み合わせること。 どちらのアプローチも同じAPIを共有しており、シンプルな2ファイル結合から大規模なドキュメントバッチにスケーリングします。
IronPDFは結合後の操作もサポートしています。ヘッダーとフッターの追加、ブランディングのための水印の適用、結合ドキュメントからのテキスト抽出、プログラムによるPDFフォームの記入などが含まれます。
ライブラリはWindowsおよびLinux上 for Python 3.xをサポートしています。 より多く for Python PDF操作については、PDFの分割、画像へのPDF変換、およびPDFの印刷をご覧ください。 Pythonコードのすべての例についてはIronPDF for Pythonの例のページをご覧ください。
無料トライアルを開始して自分の環境でのPDFマージをテストするか、ライセンスオプションを表示して本番展開のための選択を行ってください。
次に何ができるのかを見てみましょうか? IronPDF Pythonのチュートリアルページはこちらをご覧ください:IronPDF for Python tutorials
よくある質問
Pythonを使って複数のPDFファイルを1つに結合する方法を教えてください。
pip install ironpdfでIronPDFをインストールし、その後でPdfDocument.Merge()をPythonのPdfDocumentオブジェクトのリストで呼び出します。このメソッドは新しい統合ドキュメントを返し、SaveAsで保存します。
レンダリングされたPDFではなくディスク上の既存のPDFファイルをマージできますか?
はい。PdfDocument.FromFile('path/to/file.pdf')を使用して各既存PDFをロードし、ロードされたオブジェクトをPdfDocument.Merge()に渡します。ファイルでロードされたドキュメントと新たにレンダリングされたドキュメントを同じリストで混在させることができます。
PdfDocument.Mergeはドキュメントのフォーマットやフォントを保持しますか?
はい。IronPDFは、マージ中にすべてのソースドキュメントからフォント、画像、注釈、ページレイアウトを保持します。各ソースドキュメントの元の外観は最終的なマージされたPDFで維持されます。
マージされたPDFでページの順序を制御するにはどうすればよいですか?
出力のページ順序は、Mergeに渡されたPythonリストのPdfDocumentオブジェクトの順序に一致します。順序を制御するには、Mergeを呼び出す前にリスト要素を並び替えます。
マージされたPDFのファイルサイズを減らすために圧縮できますか?
はい。マージ後に、CompressImages(quality)をマージされたPdfDocumentで呼び出し、SaveAsを呼び出す前に実行してください。品質値90は、圧縮と視覚的な忠実度のバランスにおいて良い選択です。
IronPDF for Pythonはクロスプラットフォーム対応ですか?
はい。IronPDF for PythonはWindowsおよびLinux上でPython 3.xをサポートしています。PdfDocument.Merge()の同じAPIが、どちらのプラットフォームでも設定変更なしで動作します。
マージされたPDFドキュメントにメタデータを追加できますか?
はい。マージ後、保存する前にマージされたPdfDocumentのpdf.MetaData.Authorやpdf.MetaData.Titleなどのメタデータプロパティを設定してください。









