JavaでPDFファイルを1つのPDFにマージする
IronPDF では、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をマージして保存します:
:title=MergeExample.java
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
merged.saveAs(Paths.get("assets/merged.pdf"));
: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を提供します。
JavaでPDFファイルを結合する方法
- PDFファイルにマージを実行するJavaライブラリをインストールする。
renderHtmlAsPdfメソッドを利用して複数のPDFを生成します- Javaの
mergeメソッドでPDFをマージする saveAsメソッドを使用してマージされたPDFドキュメントを保存します- PDFオブジェクトのリストを作成し、
mergeメソッドを使用することによって、2つ以上のPDFをマージします。
IronPDFとは何ですか、なぜPDFマージに使うのですか?
IronPDFは、単一または複数のPDFドキュメントを作成、読み取り、編集するため for Javaライブラリです。 HTMLレンダリングを使用したコンテンツの外観や、タイトルや著者名などのメタデータを含め、すべてのPDFファイルをゼロから作成することができます。 また、このライブラリは複数の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を使用します。
- IDEで実行中のMavenプロジェクト。 3.Java Development Kit (JDK) バージョン8以上がシステムにインストールされていること。 4.JavaプログラミングとMaven依存性管理の基本的な理解。
PDFマージ用のIronPDFをインストールするには?
PDFファイルをマージするためにまず必要なのはIronPDF Javaライブラリです。 どのプロジェクトでもIronPDFをダウンロードしてインストールするには3つの方法があります。
- Maven プロジェクトの
pom.xmlファイルに IronPDF 依存性を追加し、Maven コマンドライン ツールまたは IDE を使用して、ライブラリを中央リポジトリから直接ダウンロードできます。 - もう一つの方法はMavenのウェブサイトを訪れてIronPDFの最新バージョンをダウンロードすることです。 ここから直接ダウンロード可能です。
- IronPDFのウェブサイトを訪れて、このリンクから直接ダウンロードすることもできます。
いずれの場合も、pom.xml ファイルに次の依存コードが追加されます。インストール手順の詳細とライセンス キー実装については、Using License Keys guide を参照してください。
<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>
PDFをマージするために必要なもう1つの依存性は Slf4j-simple です。 それを pom.xml ファイルに次のコードを使用して追加することもできますし、Maven の Web サイトを こちら から訪れることもできます。
<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>";
// HTMLコンテンツを使用してPdfDocumentオブジェクトを作成する
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
// 2つのPDFドキュメントを単一のドキュメントにマージする
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>";
// HTMLコンテンツを使用してPdfDocumentオブジェクトを作成する
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
// 2つのPDFドキュメントを単一のドキュメントにマージする
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 オブジェクトを含むコレクションを作成し、次にリストを1つの引数として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>";
// PdfDocumentオブジェクトを作成する
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);
// ドキュメントをリストに追加する
List<PdfDocument> pdfs = new ArrayList<>();
pdfs.add(pdfA);
pdfs.add(pdfB);
pdfs.add(pdfC);
pdfs.add(pdfD);
// すべてのドキュメントを単一のPDFにマージする
PdfDocument merged = PdfDocument.merge(pdfs);
// マージされたPDFドキュメントを保存します
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>";
// PdfDocumentオブジェクトを作成する
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);
// ドキュメントをリストに追加する
List<PdfDocument> pdfs = new ArrayList<>();
pdfs.add(pdfA);
pdfs.add(pdfB);
pdfs.add(pdfC);
pdfs.add(pdfD);
// すべてのドキュメントを単一のPDFにマージする
PdfDocument merged = PdfDocument.merge(pdfs);
// マージされたPDFドキュメントを保存します
merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
上記ではHTMLレンダリングメソッドを使用して4つのPDFドキュメントが作成されます。 次に、新しいmergeメソッドに渡します。 その結果、これらのPDFは単一のPDFドキュメントに結合されます。
異なるPDFから特定のページや範囲をマージするなど、より複雑なマージシナリオについては、マージ機能とページ操作機能を組み合わせることができます。 ページレベルの操作については、PDF分割ガイドをご覧ください。
高度なマージオプション
IronPDFは基本的な結合だけでなく、高度なPDF操作のための追加機能を提供します:
- ページごとの選択的マージ: マージ前にソースPDFから特定のページを抽出
- 特定の位置に挿入: 既存のドキュメント内の特定の位置にPDFを追加
- メタデータの保存: マージ操作中にドキュメントのプロパティとメタデータを保持
- 大容量ファイルの処理: メモリ問題なしで大容量のPDFファイルを効率的に処理
以下は、選択的ページ結合の例です:
// 既存のPDFを読み込みます
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));
// 特定のページを抽出します(新しいPDFの2-4ページ)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0から始まるインデックス
// 選択したページを既存のPDFとマージします
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
// 既存のPDFを読み込みます
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));
// 特定のページを抽出します(新しいPDFの2-4ページ)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0から始まるインデックス
// 選択したページを既存のPDFとマージします
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
IronPDFでPDFをマージするためのキーポイントは何ですか?
この記事では、JavaでIronPDFを使用してPDFファイルを結合する方法について説明しました。
最初にMavenを使用してIronPDF for Javaをインストールする方法を説明し、次に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を生成し、同じマージ機能を使ってそれらをマージすることができます。





