JavaでPDFファイルを1つのPDFにマージする
IronPDF for Java では、PdfDocument.merge() メソッドを使用して複数の PDF ドキュメントを 1 つのファイルに結合することができ、2 つのドキュメントの結合と PDF コレクションを使用したバッチ操作の両方がサポートされています。
クイックスタート: Java で PDF ファイルを結合する
- IronPDF依存関係を
pom.xmlに追加します。<dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>YOUR_VERSION_HERE</version> </dependency><dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>YOUR_VERSION_HERE</version> </dependency>XML
2.HTMLからPDF文書を作成します:
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
3.PDFをマージして保存します: ```java :title=MergeExample.java PdfDocument merged = PdfDocument.merge(pdfA, pdfB); merged.saveAs(Paths.get("assets/merged.pdf"));
PDFは**Portable Document Format**の略で、テキストとグラフィックを含む文書の電子形式です。 すべてのオペレーティングシステム、デバイス、ソフトウェアアプリケーションで同じコンテンツとレイアウトを表示します。
Javaは高水準のプログラミング言語であり、PDFデータと同様、プラットフォームに依存しません。 これにより、異なるコンピュータシステム間での移動が容易になります。 しかし、ソースPDFファイルや入力ストリームを扱うことは、Javaでは困難です。 **Javaライブラリ**である**IronPDFは、既存のPDFファイルを簡単に操作して作業するのに適しています。
このハウツーガイドでは、IronPDF Javaライブラリをインストールし、複数のPDFドキュメントを結合する方法を学びます。 レポートの統合、スキャンしたドキュメントの結合、マルチパートフォームの組み立てなど、IronPDFは複雑なPDF操作を内部で処理するわかりやすいAPIを提供します。
<div class="hsg-featured-snippet">
<h3>JavaでPDFファイルを結合する方法</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">PDFファイルにマージを実行するJavaライブラリをインストールする</a>。</li>
<li><a href="#anchor-merge-two-pdf-source-files-in-java-using-ironPdf">renderHtmlAsPdf</a>メソッドを利用して複数のPDFを生成する。</li>
<li>Javaの`merge`メソッドでPDFをマージする</li>
<li>マージされたPDF文書を保存するには、<a href="#anchor-save-merged-multiple-pdf-document">saveAs</a>メソッドを使用してください。</li>
<li><a href="#anchor-merge-more-than-two-pdf-files">PDFオブジェクトのリストを作成し、`merge`メソッドを使用することによって、2つ以上のPDF</a>をマージします。</li>
</ol>
</div>
## IronPDFとは何ですか、なぜPDFマージに使うのですか?
IronPDFは、単一または複数のPDFドキュメントを作成、読み取り、編集するため for Javaライブラリです。 [HTMLレンダリングを使用したコンテンツの外観や、タイトルや著者名などのメタデータを含め、すべてのPDFファイルをゼロから作成](https://ironpdf.com/java/how-to/java-create-pdf-tutorial/)することができます。 また、このライブラリは複数のPDFファイルをマージすることができ、コンテンツを1つのPDF宛先ファイルパスに簡単にまとめることができます。 PDFファイルやPDFイテレータオブジェクト操作のために、サードパーティのライブラリ、外部フレームワーク、またはプラットフォーム統合を必要としません。 また、**クロスプラットフォームのサポート**も提供します。 これは、**Windows**、**Linux**、**クラウドプラットフォーム**上で動作する**Java 8+、Kotlin、Scala**のために特別に設計されています。
IronPDFはドキュメントの整合性を維持し、書式を保持し、複雑なレイアウトを処理し、大きなファイルを効率的に処理するため、PDFのマージ作業を効果的に処理します。 このライブラリのマージ機能は、ドキュメントを順番に追加したり、特定の位置にページを挿入したり、異なるページサイズや向きのPDFを結合したりといった、さまざまなシナリオをサポートしています。
## JavaでPDFをマージするための前提条件は何ですか?
複数のPDFファイルを結合するには、次のものが必要です:
1.JavaをサポートするIDE(NetBeans、Eclipse、IntelliJなど)。 ここでは複数のPDFを結合するためにIntelliJを使用します。
2.IDEで実行されているMavenプロジェクト。
3.Java Development Kit (JDK) バージョン8以上がシステムにインストールされていること。
4.JavaプログラミングとMaven依存性管理の基本的な理解。
## PDFマージ用のIronPDFをインストールするには?
PDFファイルをマージするためにまず必要なのはIronPDF Javaライブラリです。 どのプロジェクトでもIronPDFをダウンロードしてインストールするには3つの方法があります。
1. Maven プロジェクトの `pom.xml` ファイルにIronPDF依存関係を追加し、Maven コマンドライン ツールまたは IDE を使用して、中央リポジトリからライブラリを直接ダウンロードできます。
2. もう一つの方法はMavenのウェブサイトを訪れてIronPDFの最新バージョンをダウンロードすることです。 You can download it from <a href="https://search.maven.org/artifact/com.ironsoftware/ironpdf" target="_blank" rel="nofollow noreferrer noopener">here</a> directly.
3. IronPDFのウェブサイトを訪れて、[このリンク](/java/)から直接ダウンロードすることもできます。
いずれの場合も、以下の依存コードが`pom.xml`ファイルに追加されます。インストール手順とライセンスキーの実装の詳細については、 ["ライセンスキーの使用"ガイド](https://ironpdf.com/java/get-started/license-keys/)をご覧ください。
```xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
PDF を結合するために必要なもう 1 つの依存関係は Slf4j-simple です。 You can also add it to the pom.xml file using the following code or you can visit the Maven website here.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
PDF ファイルをマージするためのIronPDF関数を使用するには、main.java ファイルに次のインポート ステートメントも必要です。
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
JavaでIronPDFを使って2つのPDFファイルを結合するには?
PDFファイルを結合するには、まずPDFファイルを作成し、それらを最終的に結合したPDFファイルに変換する必要があります。次のコードサンプルはまさにそれを実行します:
String htmlA = "<p> [PDF_A] </p>"
+ "<p> [PDF_A] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
+ "<p> [PDF_B] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_B] 2nd Page</p>";
// Create PdfDocument objects using the HTML content
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
// Merge the two PDF documents into a single document
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
String htmlA = "<p> [PDF_A] </p>"
+ "<p> [PDF_A] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
+ "<p> [PDF_B] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_B] 2nd Page</p>";
// Create PdfDocument objects using the HTML content
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
// Merge the two PDF documents into a single document
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
上記のコードはHTMLマークアップを含む2つの文字列を生成します。各変数のHTMLコンテンツは2ページにわたっています。 次に、IronPDF の renderHtmlAsPdf メソッドが呼び出され、両方の HTML 文字列が個別の PDF ドキュメントに変換されます。 カスタムフォントやスタイリングなど、より高度なHTMLからPDFへの変換オプションについては、HTML to PDFチュートリアルをご覧ください。
PDF ファイルを結合する方法は PdfDocument.merge です。 このメソッドは上記で呼び出され、2つのPDFドキュメントを1つに結合します。 結果は、最初の PdfDocument の末尾に 2 番目の PdfDocument の内容を追加することによって生成された新しい PdfDocument になります。
マージしたPDFドキュメントはどのように保存しますか?
結合されたPDFファイルを所望の目的地ファイルパスに保存するには、次の行を単に使用してください:
merged.saveAs(Paths.get("assets/merged.pdf"));
merged.saveAs(Paths.get("assets/merged.pdf"));
結合されたPDFファイルの出力が以下に示されています:
一度に 2 つ以上の PDF ファイルを結合するにはどうすればよいですか?
2 つ以上の PDF ドキュメントを結合するには、まず必要な PdfDocument オブジェクトを含むコレクションを作成し、そのリストを単一の引数として PdfDocument.merge メソッドに渡します。 コードは次の通りです:
import java.util.List;
import java.util.ArrayList;
public static void main(String[] args) throws IOException {
String htmlA = "<p> [PDF_A] </p>"
+ "<p> [PDF_A] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
+ "<p> [PDF_B] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_B] 2nd Page</p>";
String htmlC = "<p> [PDF_C] </p>"
+ "<p> [PDF_C] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_C] 2nd Page</p>";
String htmlD = "<p> [PDF_D] </p>"
+ "<p> [PDF_D] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_D] 2nd Page</p>";
// Creating PdfDocument objects
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);
// Add documents to a list
List<PdfDocument> pdfs = new ArrayList<>();
pdfs.add(pdfA);
pdfs.add(pdfB);
pdfs.add(pdfC);
pdfs.add(pdfD);
// Merge all documents into a single PDF
PdfDocument merged = PdfDocument.merge(pdfs);
// Save the merged PDF document
merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
import java.util.List;
import java.util.ArrayList;
public static void main(String[] args) throws IOException {
String htmlA = "<p> [PDF_A] </p>"
+ "<p> [PDF_A] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
+ "<p> [PDF_B] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_B] 2nd Page</p>";
String htmlC = "<p> [PDF_C] </p>"
+ "<p> [PDF_C] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_C] 2nd Page</p>";
String htmlD = "<p> [PDF_D] </p>"
+ "<p> [PDF_D] 1st Page </p>"
+ "<div style='page-break-after: always;'></div>"
+ "<p> [PDF_D] 2nd Page</p>";
// Creating PdfDocument objects
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);
// Add documents to a list
List<PdfDocument> pdfs = new ArrayList<>();
pdfs.add(pdfA);
pdfs.add(pdfB);
pdfs.add(pdfC);
pdfs.add(pdfD);
// Merge all documents into a single PDF
PdfDocument merged = PdfDocument.merge(pdfs);
// Save the merged PDF document
merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
上記ではHTMLレンダリングメソッドを使用して4つのPDFドキュメントが作成されます。 次に、各 PDF を新しい List コレクションに入力し、このリストを単一の引数として merge メソッドに渡します。 その結果、これらのPDFは単一のPDFドキュメントに結合されます。
異なるPDFから特定のページや範囲をマージするなど、より複雑なマージシナリオについては、マージ機能とページ操作機能を組み合わせることができます。 ページレベルの操作については、PDF分割ガイドをご覧ください。
高度なマージオプション
IronPDFは基本的な結合だけでなく、高度なPDF操作のための追加機能を提供します:
1.選択的ページマージ: マージする前にソースPDFから特定のページを抽出します。 2.位置に挿入:既存のドキュメント内の特定の位置にPDFを追加します。 3.メタデータを保持する:マージ操作中にドキュメントのプロパティとメタデータを維持します。 4.大きなファイルを処理する: メモリの問題なしに大きなPDFファイルを効率的に処理します。
以下は、選択的ページ結合の例です:
// Load existing PDFs
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));
// Extract specific pages (pages 2-4 from the new PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0-indexed
// Merge the selected pages with the existing PDF
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
// Load existing PDFs
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));
// Extract specific pages (pages 2-4 from the new PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0-indexed
// Merge the selected pages with the existing PDF
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
IronPDFでPDFをマージするためのキーポイントは何ですか?
この記事では、JavaでIronPDFを使用してPDFファイルを結合する方法について説明しました。
最初にMavenを使用してJava用のIronPDFをインストールする方法を説明し、次にHTMLレンダリングメソッドを使用してPDFを生成する簡単な方法を示しました。 その後、2つ以上のPDFを単一のPDFファイルに結合する方法を見ました。
IronPDFはよく機能し、すべての操作をスピードと正確さで実行します。 JavaでPDFファイルを扱う上での優れたオプションです。 さらに、それはIronPDF for .NETの機能に基づいています。
IronEngine for Javaは、HTML、CSS、JS、JPG、およびPNGなどのオープンスタンダードな文書形式でHTML/URL/文字列からPDF変換を可能にします。 それはピクセルパーフェクトなPDFドキュメントを生成し、最新の技術で構築されています。 クラウド プラットフォームへのデプロイについては、AWS デプロイ、Azure デプロイ、Google Cloud デプロイのガイドを参照してください。
Java用のIronPDFを使用する方法についての詳細はコード例のページをご覧ください。 その他のPDF操作機能については、PDFの圧縮、透かしの追加、PDFフォームの作成に関するチュートリアルをご覧ください。
IronPDFは開発のために無料で利用でき、商業利用のためにライセンスできます。 ライセンスについての詳細情報は以下のリンクをご覧ください。
よくある質問
Javaで2つのPDFファイルをマージするには?
IronPDFではPdfDocument.merge()メソッドを使って2つのPDFファイルをマージすることができます。PDFドキュメントを作成または読み込み、PdfDocument.merge(pdfA, pdfB)を呼び出し、結果をsaveAs()メソッドで保存するだけです。
PDFマージに必要なJavaのバージョンは?
IronPDFはJava 8以降に特化して設計されており、KotlinとScalaもサポートしています。サードパーティライブラリや外部フレームワークを必要とせず、Windows、Linux、クラウドプラットフォームで動作します。
一度に2つ以上のPDFをマージできますか?
はい、IronPDFは複数のPDFをマージするバッチ操作をサポートしています。PDFオブジェクトのリストを作成し、マージメソッドを使って一回の操作でそれらをすべて一つのドキュメントに結合することができます。
PDFマージライブラリをMavenプロジェクトに追加する方法を教えてください。
ironPdfのartifactIdとcom.ironsoftwareのgroupIdを含めることで、IronPDFをpom.xmlファイルの依存関係として追加します。これにより、結合を含むすべてのPDF操作機能にアクセスできるようになります。
PDFをマージすると、元の書式は保持されますか?
はい、IronPDFはPDFをマージする際にドキュメントの整合性を維持します。書式を保持し、複雑なレイアウトを処理し、各文書の元の外観を維持しながら大きなファイルを効率的に処理します。
HTMLからPDFを作成してからマージできますか?
もちろんです!IronPDFはrenderHtmlAsPdf()メソッドを使ってHTMLからPDFを作成することができます。HTMLコンテンツから複数のPDFを生成し、同じマージ機能を使ってそれらをマージすることができます。




