JavaでPDFファイルを単一のPDFに結合

チャクニット・ビン
チャクニット・ビン
2023年1月22日
更新済み 2024年12月2日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

PDFはポータブルドキュメントフォーマットであり、テキストやグラフィックを含む新しい電子ドキュメント形式です。 独立した形式であり、すべてのオペレーティングシステム、デバイス、またはソフトウェアアプリケーションで同じ内容とレイアウトを表示します。

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

このハウツーガイドでは、IronPDF Javaライブラリのインストール方法および複数のPDFドキュメントをマージする方法を学びます。

IronPDF: Javaライブラリ

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

前提条件

複数のPDFファイルをマージするには、以下が必要です:

  1. Java対応の任意のIDE(Netbeans、Eclipse、IntelliJなど)。 複数のPDFを結合するために、ここではIntelliJを使用します。

  2. IDEで動作するMavenプロジェクト

IronPDF をインストール

PDFファイルを結合するために、最初に必要なのはIronPDF for Javaライブラリです。 任意のプロジェクトにIronPDFをダウンロードしてインストールする方法は3つあります。

  1. Mavenプロジェクトのpom.xmlファイルにIronPDF依存関係を追加し、mavenコマンドラインツールまたはIDEを使用して、中央リポジトリからライブラリを直接ダウンロードすることができます。

  2. 別の方法としては、Mavenのウェブサイトにアクセスして最新バージョンのIronPDFをダウンロードすることです。 [こちら](https://search.maven.org/artifact/com.ironsoftware/ironpdf" target="_blank" rel="nofollow noreferrer noopener)から直接ダウンロードできます。

  3. こちらのリンクから直接ダウンロードするためにIronPDFのウェブサイトをご訪問いただけます。

    各場合において、以下の依存関係コードがpom.xmlファイルに追加されます。

    xml-mvn-install-ao

PDFを結合するためにもう一つ必要な依存関係はSlf4j-simple依存関係です。 以下のコードを使用してpom.xmlファイルに追加することもできますし、Mavenのウェブサイトを[こちら](https://search.maven.org/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer)で確認することもできます。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML
JavaでPDFをマージ - 図1: pom.xmlの依存関係

pom.xml 依存関係

次のインポート文は、PDFファイルをマージするためのIronPDF機能を使用するためにも、main.javaファイルに必要です。

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
JAVA

Javaを使用して2つのPDFソースファイルを結合するIronPDF

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>";
//document and PdfReader objects
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
JAVA

上記のコードは、HTMLマークアップを含む二つの文字列を作成します。各変数のHTMLコンテンツは二ページにわたります。 次に、IronPDF のrenderHtmlAsPdf メソッドが呼び出され、両方の HTML 文字列が個別の PDF ドキュメントに変換されます。

PDFファイルを結合する方法はPdfDocument.mergeです。 このメソッドは上述のように呼び出され、2つのPDFドキュメントを1つのPDFドキュメントに統合します。 結果は、2つ目のPdfDocumentの内容を1つ目のPdfDocumentの最後に追加することで生成される新しいPdfDocumentです。

複数のPDFドキュメントをマージして保存

マージされたPDFファイルを希望の保存先のファイルパスに保存するには、以下のワンライナーを使用してください:

merged.saveAs(Paths.get("assets/merged.pdf"));
JAVA

結合されたPDFファイルの出力は以下の通りです:

JavaでPDFをマージ - 図2: 複数のPDFドキュメントをマージ

複数のPDF文書を結合する

2つ以上のPDFファイルを結合

2つ以上のPDFドキュメントを結合するには、まず必要なPdfDocumentオブジェクトを含むコレクションを作成し、その後、そのリストを単一の引数としてPdfDocument.mergeメソッドに渡します。 コードは次のようになります:

import java.util.ArrayList;
import java.util.List;

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

    PdfDocument merged = PdfDocument.merge(pdfs);

    merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
JAVA

上記のようにHTMLレンダーメソッドを使用して4つのPDFドキュメントが作成されました。 次に、新しいListコレクションに各PDFを格納し、このリストを1つの引数としてマージメソッドに渡します。 その結果、これらのPDFは1つのPDFドキュメントにマージされます。

Java PDF マージ - 図 3: 2 つ以上の PDF ファイルのマージ

2つ以上のPDFファイルを結合する

結論

この記事では、IronPDF for Java を使用してPDFファイルを結合する方法について説明しました。

まず、Mavenを使用してIronPDF for Javaをインストールする方法を説明し、次にHTMLレンダリングメソッドを使用してPDFを生成する簡単な方法を示しました。 その後、複数のPDFを1つのPDFファイルに統合する方法を学びました。

IronPDFは非常に優れたパフォーマンスを発揮し、すべての操作を迅速かつ正確に実行します。 それは、JavaでPDFファイルを扱うのに非常に優れたオプションです。 さらに、それはIronPDF for .NETの機能に基づいています。

Java用IronEngineは、HTML、CSS、JS、JPG、PNGなどのオープン標準文書タイプを使用して、HTML、URL、文字列をPDFに変換することを可能にします。 ピクセル単位の完璧なPDFドキュメントを生成し、最新の技術を使用して構築されています。

Java向けIronPDFの使用方法に関する詳細情報は、コード例ページからご覧いただけます。

IronPDFは開発には無料で使用でき、商用利用にはライセンスが必要です。 ライセンスに関する詳細情報は、次のリンクをご覧ください。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。