IRONSOFTWAREHOME
製品比較

Javaアプリケーションに最適なPDFライブラリを見つけよう

Curtis Chau
Curtis Chau
Updated: 2025年7月28日

この記事では、JavaのPDFライブラリがプロジェクトをどのように強化するかを探り、その機能、ライセンスコスト、チュートリアルに基づいてトップ2のライブラリを比較します。 過去には、JavaでPDFファイルを扱うのは困難でしたが、技術の進歩により、現在ではそれを管理するため for Java APIが多数利用可能です。

私たちが検討する2つのライブラリは以下の通りです:

両方のライブラリは、JavaでPDFファイルを作成、編集、印刷する機能を提供します。 この比較では、それらの結合された能力、コードベース、およびインストールの容易さを簡潔に評価します。

まず、IronPDFを見てみましょう。

IronPDF Java 向け

IronPDF for JavaはPDFファイルを作成・管理します。 Adobeソフトウェアを必要とせずに、開発者がPDFファイルを読み取り、作成、編集することができます。 開発者はカスタムヘッダーやフッターを追加し、署名やその他のセキュリティ制限を追加できます。 完全なマルチスレッドおよび非同期サポートが、IronPDFが開発者が必要とする際に高性能を達成するのに役立ちます。

IronPDFの機能

IronPDF for Javaは、多くのPDF生成および操作ツールを提供し、開発者がJavaアプリケーションを迅速に向上させることができます。

  • HTMLからPDFへの変換: この機能により、HTMLファイル、MVCビュー、ウェブフォーム、URLからPDFドキュメントを生成できます。

  • PDFイメージング: 画像からPDFを作成し、PDFから画像を抽出することができます。

  • PDF編集: 透かし、ヘッダー、フッター、背景、前景を追加し、ページを追加および削除することができます。

  • PDFコンテンツ抽出: PDFからテキストと画像を抽出できます(埋め込まれたPDFの画像からテキストを抽出するにはIronOCRライブラリの使用が必要な場合があります)。

  • 互換性: Java 8+とすべての最新のオペレーティングシステムおよびIDEに対応しています。

OpenPDF

OpenPDFは、PDFを扱うために特別に設計されたオープンソースの無料 for Javaライブラリで、LGPLおよびMPLのデュアルライセンスです。 PDFドキュメントの生成と操作、既存のドキュメントの編集やコンテンツの抽出が可能です。 OpenPDFは、新規PDFの作成や既存のPDFの編集の際に便利なツールです。

OpenPDFの特徴

  • PDFの作成と印刷: ゼロから新規PDFドキュメントを作成し、Javaの印刷APIを使用してPDFファイルを印刷できます。

  • 分割と結合: 1つのPDFを多くのファイルに分割することや、複数のPDFファイルを1つのPDFファイルに結合することができます。

  • テキスト抽出: PDFファイルやPDFフォームからテキストを抽出できます。

  • 署名: 開発者がPDFにデジタル署名をすることができます。

  • 画像として保存: PDFをJPEGやPNGなどの画像ファイルとして保存することができます。

  • OfficeからPDFへ: MS Word、MS PowerPoint、MS ExcelをPDFドキュメントに変換できます。

  • HTML解析: HTMLファイルをPDFファイルに解析する機能もあります。

IronPDF Java 向けのインストール

IronPDF for Javaのインストールは、Javaの初心者にも簡単なプロセスです。

IronPDF for Javaを使用するには、IDEが必要です。この記事では、インストールと例としてJetBrains IntelliJ IDEAを使用します。

まず、JetBrains IntelliJ IDEAを開き、新しいMavenプロジェクトを作成します:

  1. プロジェクトの名前を入力し、"Finish"ボタンをクリックする新しいウィンドウが現れます。
  2. "完了"をクリックすると、新しいプロジェクトが開き、デフォルトのpom.xmlファイルが開かれます。 これは、IronPDF for JavaのMaven依存関係をこのファイルに追加する必要があるため、素晴らしいです。

pom.xmlファイルに以下の依存関係を追加します:

<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- IronPDF Maven Dependency -->
</dependencies>
XML

依存関係をpom.xmlファイルの右上隅に小さなアイコンが表示されます。このアイコンをクリックして、IronPDF for JavaのMaven依存関係をインストールします。 このプロセスは、インターネット接続に応じて数分かかる場合があります。

OpenPDFのインストール

OpenPDFのインストールは、IronPDF for Javaのインストールと似ています。 次の手順に従います。

  1. JetBrains IntelliJ IDEAを開き、新しいMavenプロジェクトを作成します。
  2. プロジェクトの名前を入力し、"Finish"ボタンをクリックします。
  3. 新しいプロジェクトが開き、デフォルトのpom.xmlファイルが表示されます。 これはOpenPDFのMaven依存関係を追加する必要があるため良いことです。

dependenciesセクションにOpenPDFの依存関係を追加します:

<dependencies>
    <dependency>
        <groupId>com.github.librepdf</groupId>
        <artifactId>openpdf</artifactId>
        <version>1.3.30</version>
    </dependency>
</dependencies>
XML

リポジトリと依存関係のコードを追加すると、pom.xmlファイルの右上に小さなアイコンが表示されます。このアイコンをクリックして、OpenPDF for Javaの依存関係をインストールします。 数分後にインストールされ、利用可能になります。

新しいPDFファイルの作成

ユーザーの魅力に加えて、PDFにはいくつかの技術的利点もあります。 PDFファイルはプラットフォームに依存せず、任意のオペレーティングシステムまたはデバイスで読み取ることができます。フォーマットとレイアウトを保持し、誰が開いてもドキュメントが同様に見えることを保証します。 PDFファイルはコンパクトで、簡単に共有および保存することができます。 あなた for JavaアプリケーションでPDFを使用することで、広範な機能性と互換性を備えた効率的でサポートされたドキュメントフォーマットをユーザーに提供できます。

ここでは、IronPDFとOpenPDFライブラリを使用して新しいPDFファイルを作成する方法を説明します。

IronPDFを使用して新しいPDFファイルを作成

IronPDF for Javaを使用してPDFファイルを作成および編集することは簡単で、コードの行数も少なくて済みます。 以下が例です:

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

public class Main {
    public static void main(String[] args) throws IOException {
        // Set your license key for IronPDF
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set the log path
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Render a simple HTML to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");

        // Save the rendered PDF
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
Java

OpenPDFを使用して新しいPDFファイルを作成

OpenPDFを使用して新しいPDFファイルを作成できます。 以下がコード例です:

import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;

public class Main {
    /**
     * Generates a PDF file with the text 'Hello World'
     */
    public static void main(String[] args) {
        System.out.println("Generating Hello World PDF");

        Document document = new Document();

        try (FileOutputStream fileOutputStream = new FileOutputStream("HelloWorld.pdf")) {
            PdfWriter.getInstance(document, fileOutputStream);

            // Open document for writing content
            document.open();

            // Add content to the PDF
            document.add(new Paragraph("Hello World"));

        } catch (DocumentException | IOException e) {
            System.err.println("Error creating PDF: " + e.getMessage());
        } finally {
            // Ensure document is closed
            document.close();
        }
    }
}
Java

HTMLからPDFへの変換

ウェブページは人々によって頻繁にアクセスされます。 定期的に確認したいサイトがいくつかあります。 ウェブサイトを毎回訪れることは難しいかもしれません。 情報に頻繁にアクセスする必要がある場合、文書として保存しておく方が便利です。これによりいつでもスマホやノートパソコンからアクセスできます。PDF形式は、パスワード保護などの利点を提供し、ドキュメントを安全に保ちます。

HTMLからPDFへの変換は、PDFライブラリの最も一般的に使用される機能の1つであり、その利点からほぼすべての開発者によって使用されています。 このセクションでは、IronPDF for JavaとOpenPDFのコード例を解説します。

IronPDFを使用したHTMLからPDFへの変換

IronPDFの最先端のレンダラーは、HTMLを3つの異なる方法でPDFにシームレスに変換します。

HTMLファイルからPDFへ

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

public class Main {
    public static void main(String[] args) throws IOException {
        // Set your license key for IronPDF
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set the log path
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Render HTML file to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

        // Save the rendered PDF
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
    }
}
Java

HTML文字列からPDFへ

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

public class Main {
    public static void main(String[] args) throws IOException {
        // Set your license key for IronPDF
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set the log path
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Render HTML string to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> Example of HTML to PDF using IronPDF for Java </h1> IronPDF for Java is a robust Java API for creating, converting, and manipulating PDF files");

        // Save the rendered PDF
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
Java

URLからPDFへ

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

public class Main {
    public static void main(String[] args) {
        // Set your license key for IronPDF
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set the log path
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Render URL to PDF
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");

        try {
            // Save the rendered PDF
            myPdf.saveAs(Paths.get("url.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Java

OpenPDFを使用してHTMLをPDFに変換

OpenPDFはHTMLファイルをPDFファイルに変換するオプションを提供しますが、URLからPDFへの変換機能はありません。 以下が例です:

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.html.HtmlParser;
import com.lowagie.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {

    /**
     * Parses HTML and generates a PDF file
     */
    public static void main(String[] args) {
        System.out.println("Parsing HTML to create PDF");

        try (Document document = new Document()) {
            FileOutputStream outputStream = new FileOutputStream("contact.pdf");
            PdfWriter.getInstance(document, outputStream);

            // Open the document
            document.open();

            // Parse the HTML document and write to PDF
            HtmlParser.parse(document, Main.class.getClassLoader().getResourceAsStream("contact.html"));

        } catch (DocumentException | IOException e) {
            System.err.println("Error: " + e.getMessage());
        }
    }
}
Java

画像からPDFへの変換ツール

画像をPDFに変換することは利点があります。 それは写真をより読みやすく、転送可能な形式にし、ファイルサイズを大幅に削減しながら画像の品質を保つことができます。

IronPDFを使用した画像からPDFへの変換

IronPDFを使えば、簡単に任意の画像フォーマットをPDFファイルに変換できます。

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        // Path to the directory containing images
        Path imageDirectory = Paths.get("assets/images");
        List<Path> imageFiles = new ArrayList<>();

        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry : stream) {
                imageFiles.add(entry);
            }

            // Convert images to a single PDF document
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            throw new RuntimeException("Error converting images to PDF from directory: " + imageDirectory + ": " + exception.getMessage(), exception);
        }
    }
}
Java

OpenPDFを使用した画像からPDFへの変換

OpenPDFは画像からPDFへの変換を提供しますが、PNG、JPG、TIFFのような形式のみをサポートしています。

import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Document;
import com.lowagie.text.Image;
import com.lowagie.text.pdf.PdfWriter;

public class Main {

    public static void main(String[] args) {
        System.out.println("Converting Images to PDF");

        // Step 1: Create a document object
        Document document = new Document();

        try {
            // Step 2: Create a PdfWriter that listens to the document
            // and directs a PDF-stream to a file
            FileOutputStream fileOutputStream = new FileOutputStream("Images.pdf");
            PdfWriter.getInstance(document, fileOutputStream);

            // Step 3: Open the document
            document.open();

            // Step 4: Add images to the PDF
            Image jpg = Image.getInstance("11.png");
            document.add(jpg);

        } catch (DocumentException | IOException e) {
            System.err.println("Error creating PDF: " + e.getMessage());
        } finally {
            // Step 5: Close the document
            document.close();
        }
    }
}
Java

価格とライセンス

IronPDF for Javaは、個人や商業用のための強力なPDFライブラリです。 さまざまなライセンスオプションがあり、単一プロジェクトライセンス、SaaSおよびOEMの再配布、多国籍企業向けライセンスなどがあります。 LiteパッケージのコストはUSDから始まり、永続ライセンス、30日間の返金保証、1年間のソフトウェアサポートとアップグレードが含まれます。 IronPDFの利点の1つは、継続的な費用が発生せず、一度購入するとライセンスを生涯利用できることです。

OpenPDFはオープンソースソフトウェアであり、LGPLおよびMPLのオープンソースライセンスの条件下でライセンスされています。 これは、OpenPDFを利用するアプリケーションを使用する人は、ビジネスネットワークまたはインターネットを介していても、LGPLおよびMPLのライセンスの下でプログラムのソースコードの完全なコピーを取得する権利があるかもしれないことを意味します。学術目的には理想的です。 ただし、商業プロジェクトの場合、関連する費用の見積もりを得るためにOpenPDFに問い合わせることをお勧めします。

結論

Java開発者とITプロフェッショナルは、IronPDFライブラリを使用してJavaアプリケーションにPDF機能を簡単に統合できます。 PDFファイルのフォーマット、グラフとチャートの生成、HTMLおよび画像のPDFへの変換、PDFファイルの分割および結合、PDFドキュメントの変更など、幅広い機能を提供します。 IronPDFはJava 8以降のすべて for Javaバージョンと、Java、Kotlin、ScalaなどのJVM言語をサポートしています。 ライブラリはまた、PDFドキュメントのための高度なセキュリティ機能を備えています。

OpenPDFは、LGPLおよびMPLライセンスを持つオープンソースの無料Javaライブラリです。 それはPDF文書の作成、修正、およびそこからのコンテンツの抽出を可能にします。 OpenPDFはPDFドキュメントの生成と編集に役立ちますが、IronPDFと比較してPDFファイル操作の機能は限られています。

IronPDFとOpenPDFをライセンスだけで比較することはできません。一方は商業用ライブラリであり、もう一方はオープンソースです。 ただし、機能に関しては、OpenPDFはPDFファイルを操作するためのオプションが限られています。 一方で、IronPDF for Javaは開発者がライブラリおよびその高度な機能をテストするための無料トライアルライセンスを提供しています。

IronPDFはOpenPDFよりはるかに多くの機能を提供します。 さらに、IronPDFは広範なドキュメントを提供し、ライブラリでのコーディングを簡素化します。 OpenPDFは長く複雑なコードを生成する傾向があり、それに関するドキュメントはほとんど利用可能ではありません。

OpenPDFのHTMLからPDFへの変換機能は大きなHTMLファイルには適しておらず、URLからPDFへの変換をサポートしていません。

ご注意: OpenPDFはその所有者の登録商標です。 このサイトは、OpenPDFによって承認、提携、またはスポンサーされていません。) すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。
Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。