JavaでPDFファイルを結合する方法

JavaでPDFファイルを1つのPDFにマージする

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

IronPDF では、PdfDocument.merge() メソッドを使用して、複数の PDF ドキュメントを1つのファイルに統合でき、2つのドキュメントのマージおよび PDF コレクションによるバッチ操作の両方をサポートしています。

クイックスタート: Java で PDF ファイルを結合する

  1. 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);
JAVA

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"));
JAVA

PDFはPortable Document Formatの略で、テキストとグラフィックを含む文書の電子形式です。 すべてのオペレーティングシステム、デバイス、ソフトウェアアプリケーションで同じコンテンツとレイアウトを表示します。

Javaは高水準のプログラミング言語であり、PDFデータと同様、プラットフォームに依存しません。 これにより、異なるコンピュータシステム間での移動が容易になります。 しかし、ソースPDFファイルや入力ストリームを扱うことは、Javaでは困難です。 JavaライブラリであるIronPDFは、既存のPDFファイルを簡単に操作して作業するのに適しています。

このハウツーガイドでは、IronPDF Javaライブラリをインストールし、複数のPDFドキュメントを結合する方法を学びます。 レポートの統合、スキャンしたドキュメントの結合、マルチパートフォームの組み立てなど、IronPDFは複雑なPDF操作を内部で処理するわかりやすいAPIを提供します。

IronPDFとは何ですか、なぜPDFマージに使うのですか?

IronPDFは、単一または複数のPDFドキュメントを作成、読み取り、編集するため for Javaライブラリです。 HTMLレンダリングを使用したコンテンツの外観や、タイトルや著者名などのメタデータを含め、すべてのPDFファイルをゼロから作成することができます。 また、このライブラリは複数のPDFファイルをマージすることができ、コンテンツを1つのPDF宛先ファイルパスに簡単にまとめることができます。 PDFファイルやPDFイテレータオブジェクト操作のために、サードパーティのライブラリ、外部フレームワーク、またはプラットフォーム統合を必要としません。 また、クロスプラットフォームのサポートも提供します。 これは、WindowsLinuxクラウドプラットフォーム上で動作するJava 8+、Kotlin、Scalaのために特別に設計されています。

IronPDFはドキュメントの整合性を維持し、書式を保持し、複雑なレイアウトを処理し、大きなファイルを効率的に処理するため、PDFのマージ作業を効果的に処理します。 このライブラリのマージ機能は、ドキュメントを順番に追加したり、特定の位置にページを挿入したり、異なるページサイズや向きのPDFを結合したりといった、さまざまなシナリオをサポートしています。

JavaでPDFをマージするための前提条件は何ですか?

複数のPDFファイルを結合するには、次のものが必要です:

1.JavaをサポートするIDE(NetBeans、Eclipse、IntelliJなど)。 ここでは複数のPDFを結合するためにIntelliJを使用します。

  1. 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の最新バージョンをダウンロードすることです。 ここから直接ダウンロード可能です。
  3. 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>
XML

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>
XML
PDF 結合プロジェクトのセットアップ用に IronPDF と SLF4J の依存関係を示す Maven pom.xml

pom.xml 依存関係

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
Icon Quote related to PDFマージ用のIronPDFをインストールするには?

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

Milan Jovanovic related to PDFマージ用のIronPDFをインストールするには?

Milan Jovanovic

Microsoft MVP

ケーススタディを見る
Icon Quote related to PDFマージ用のIronPDFをインストールするには?

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

Brent Matzelle related to PDFマージ用のIronPDFをインストールするには?

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る
Icon Quote related to PDFマージ用のIronPDFをインストールするには?

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

David Jones related to PDFマージ用のIronPDFをインストールするには?

David Jones

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

ケーススタディを見る

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);
JAVA

上記のコードは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"));
JAVA

結合されたPDFファイルの出力が以下に示されています:

サムネイルナビゲーションパネル付きで、4 ページに結合された文書を示す 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"));
}
JAVA

上記ではHTMLレンダリングメソッドを使用して4つのPDFドキュメントが作成されます。 次に、新しいmergeメソッドに渡します。 その結果、これらのPDFは単一のPDFドキュメントに結合されます。

異なるPDFから特定のページや範囲をマージするなど、より複雑なマージシナリオについては、マージ機能とページ操作機能を組み合わせることができます。 ページレベルの操作については、PDF分割ガイドをご覧ください。

8 ページに結合された文書を示す PDF ビューア。Java IronPDF を使用した複数ファイルの PDF 結合が成功したことを示す

2つ以上のPDFファイルをマージ

高度なマージオプション

IronPDFは基本的な結合だけでなく、高度なPDF操作のための追加機能を提供します:

  1. ページごとの選択的マージ: マージ前にソースPDFから特定のページを抽出
  2. 特定の位置に挿入: 既存のドキュメント内の特定の位置にPDFを追加
  3. メタデータの保存: マージ操作中にドキュメントのプロパティとメタデータを保持
  4. 大容量ファイルの処理: メモリ問題なしで大容量の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"));
JAVA

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を生成し、同じマージ機能を使ってそれらをマージすることができます。

Darrius Serrant
フルスタックソフトウェアエンジニア(WebOps)

Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。

Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。

Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。

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

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

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