Pythonを使用してPDFファイルを結合する方法

Pythonを使ってPDFファイルを1つのPDFにマージする

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.py
from 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")
PYTHON

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.py
from ironpdf import *

# Set your license key for production use
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
PYTHON

本番アプリケーションでは、ライセンスキーを設定して、IronPDFのフル機能セットのロックを解除してください。 無料トライアルが利用可能です - 無料トライアルを開始して購入せずに始めましょう。

Pythonで2つのPDFファイルをマージするにはどうすればよいですか?

PythonでのPDFファイルのマージは二つのステップを含みます:ソースPDFドキュメントを作成しPdfDocument.Merge()で結合します。 このメソッドはPdfDocumentオブジェクトのリストを受け入れ、そのリスト内の項目が現れる順に新しい合成ドキュメントを作成します。

以下は完全に動作する例です:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-4.py
from 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")
PYTHON

なぜ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")
PYTHON

保存後、大きな結合ドキュメントのファイルサイズを削減するためのPDF圧縮などの追加の後処理を適用できます。

2 つのドキュメントの結合が成功したことをサムネイルパネルで確認できる、4 ページに結合された PDF を示す IronPDF の出力

結合PDF出力は、元の両方のドキュメントのページを示します

Icon Quote related to PDFマージ結果をどのように保存しますか?

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

Milan Jovanovic related to PDFマージ結果をどのように保存しますか?

Milan Jovanovic

Microsoft MVP

ケーススタディを見る
Icon Quote related to PDFマージ結果をどのように保存しますか?

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle related to PDFマージ結果をどのように保存しますか?

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る
Icon Quote related to PDFマージ結果をどのように保存しますか?

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones related to PDFマージ結果をどのように保存しますか?

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

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.py
from 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")
PYTHON

最終ドキュメントのページ順序はMergeに渡されたリストによって決定されます。 リスト内の要素を並べ替えることで、追加のコードなしで出力順序を変更できます。 マージする前にドキュメントを並べ替える必要があるなら、たとえば日付やレポート番号で、Pythonリストを最初に並べ替えそれをMergeに渡します。

ディスクにある既存のPDFファイルを結合する方法

新しくレンダリングされたものではなく既存のPDFファイルを組み合わせる場合、PdfDocument.FromFileを使用して各ファイルを読み込みマージする前に。 これは他のシステムによって生成されたファイルを扱うときの典型的なパターンです - スキャンされたドキュメント、サードパーティのレポートエクスポート、または異なるツールによって生成されたPDFなど。 IronPDFはファイルをメモリ内のPdfDocumentオブジェクトとして読み込んでそれをマージ、変更、または最終保存前に検査できます。

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-7.py
from 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

ご注意IronPDFは結合時にソースファイルからフォント、画像、注釈、ページレイアウトを保持します。 埋め込まれたフォームフィールドやデジタル署名を持つドキュメントも結合できますが、出力のインタラクティブなフォームフィールドは、使用ケースに応じてリフラットニングが必要になる場合があります。

4 つのソースドキュメントのページを表示するサムネイルナビゲーションパネル付きで、複数ページに結合された PDF を示す IronPDF の出力

すべてのソース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ドキュメントにメタデータを追加できますか?

はい。マージ後、保存する前にマージされたPdfDocumentpdf.MetaData.Authorpdf.MetaData.Titleなどのメタデータプロパティを設定してください。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
バージョン: 2026.6 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。