製品比較

Java用IronPDFとApache PDFBoxの比較

更新済み 1月 14, 2023
共有:

この記事では、JavaでPDFファイルを扱う際に使用される最も人気のある2つのライブラリについて取り上げます。

  1. IronPDF

  2. アパッチPDFBox

    さて、どのライブラリを使用するべきでしょうか? この記事では、両方のライブラリの主要機能を比較し、どちらが本番環境に最適であるかを判断できるようにします。

  3. 以下を使用 PDPageContentStream (上記の用語は技術的なコンテキストを保つために英語のままとします。) (上記の用語は技術的なコンテキストを保つために英語のままとします。) インスタンスを設定およびコンテンツを追加
  4. PDFドキュメントをエクスポート 保存 メソッド

IronPDF

IronPDFは、.NETおよびJava、Python、Node.jsでPDFを生成、編集、読み取るための強力なツールです。プログラマー向けに最適化されており、コードからPDFファイルの作成を容易に行うことができます。IronPDFは、HTML、CSS、JavaScript、および画像をPDFドキュメントに変換する能力を提供します。

機能

  • HTML to PDF: HTML、CSS、JavaScriptを利用してPDFを生成。
  • PDFの編集: 既存のPDFドキュメントにテキスト、画像、ページ番号、さらにはカスタムヘッダーやフッターを追加。
  • PDFの読み取り: PDFファイルからテキスト、画像、メタデータを抽出。
  • セキュリティ: パスワード保護や暗号化オプションでPDFドキュメントを保護。

利点

  • 使いやすさ: シンプルなAPIで時間を節約。
  • 高品質: 正確で美しいPDFドキュメントを生成。
  • 柔軟性: 様々なプラットフォームや言語で利用可能。

対応ライセンス

IronPDFは様々なライセンスオプションがあり、Lite License、Plus License、Professional License、Unlimited Licenseが用意されています。

技術サポートや詳細については、Iron Softwareの公式サイトをご覧ください。

について IronPDF ライブラリはサポートしています HTMLからPDF Java 8+、Kotlin、およびScalaのコンバーター。 このクリエーターはクロスプラットフォームのサポートを提供します。すなわち、Windows、Linux、またはクラウドプラットフォームに対応しています。 これは、正確さ、使いやすさ、そして速度を重視するJava向けに特別に設計されています。

IronPDFは、ソフトウェア開発者がPDFドキュメントを作成、編集、抽出するのを支援するために開発されました。 それは、IronPDF for .NETの成功と人気に基づいて書かれています。

IronPDFの特長には以下が含まれます:

HTMLアセットを使用する

  • HTML (エイチティーエムエル) (5以下)CSS(カスケーディング・スタイル・シート) (カスケーディング・スタイル・シート) (スクリーン&プリント)画像 (JPG、PNG、GIF、TIFF、SVG、BMP)JavaScript (ジャバスクリプト) (レンダリング遅延)
  • フォント (ウェブ&アイコン)

HTMLからPDF

  • HTMLファイル/文字列をPDFドキュメントに変換および操作
  • URLをPDFに変換

画像を変換

  • 新しいPDFドキュメントへの画像
  • 画像へのPDF

カスタム用紙設定

  • カスタム用紙サイズ、方向、および回転
  • 余白 (mm、インチ、ゼロ)

  • カラー & グレースケール、解像度 & JPEG品質

追加機能

  • ウェブサイトおよびシステムログイン
  • カスタムユーザーエージェントとプロキシ

  • HTTPヘッダー

Apache PDFBox ライブラリ

Apache PDFBoxは、PDFファイルを操作するためのオープンソースのJavaライブラリです。 既存のドキュメントを生成、編集、および操作することができます。 ファイルから内容を抽出することもできます。 このライブラリは、ドキュメントに対してさまざまな操作を実行するために使用されるいくつかのユーティリティを提供します。

Apache PDFBoxの注目すべき機能は以下の通りです。

テキストを抽出

  • ファイルからUnicodeテキストを抽出。

分割 & 結合

  • 単一のPDFを複数のファイルに分割する
  • 複数のドキュメントを結合します。

フォームに入力

  • フォームからデータを抽出する
  • PDFフォームに入力。

プリフライト

  • PDF/A-1b標準に対してファイルを検証します。

印刷

  • 標準の印刷APIを使用してPDFを印刷します。

画像として保存

  • PDFをPNG、JPEG、その他の画像形式として保存します。

PDFを作成

  • フォントと画像を埋め込んでPDFをゼロから開発する。

署名

  • ファイルにデジタル署名を行います。

概要

記事の残りは次のとおりです:

  1. IronPDFのインストール

  2. Apache PDFBox のインストール

  3. PDFドキュメントを作成

  4. 画像からドキュメントへ

  5. 書類の暗号化

  6. ライセンス

  7. 結論

    では、ライブラリをダウンロードしてインストールし、その強力な機能を比較しましょう。

1. IronPDFのインストール

IronPDF for Java のインストールは簡単です。 それを行うには様々な方法があります。 このセクションでは、最も人気のある二つの方法を示します。

JAR ファイルをダウンロードしてライブラリーを追加してください

IronPDFのJARファイルをダウンロードするには、こちらのページをご覧ください Mavenウェブサイト 最新バージョンのIronPDFをダウンロードしてください。

  • ダウンロードオプションをクリックし、JARをダウンロードしてください。

    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 1: IronPDF JARをダウンロード

    IronPDF JARをダウンロード

    JARファイルをダウンロードしたら、次にMavenプロジェクトにライブラリをインストールする時です。 任意のIDEを使用できますが、ここではNetbeansを使用します。 プロジェクトセクションにて:

  • ライブラリフォルダを右クリックし、Add JAR/Folder オプションを選択してください。
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 2: NetbeansにIronPDFライブラリを追加する

    NetbeansにIronPDFライブラリを追加する

  • ダウンロードしたJARがあるフォルダーに移動します。
  • IronPDF JARを選択して、[開く]ボタンをクリックします。
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 3: IronPDF JARを開くIronPDF JARを開く

    IronPDF JARを開く

Mavenを介して依存関係としてインストール

IronPDFをダウンロードしてインストールする別の方法は、Mavenを使用することです。 pom.xmlに依存関係を追加するか、Netbeansの依存関係ツールを使用してプロジェクトに含めることができます。

pom.xmlにライブラリ依存関係を追加

以下のコードをコピーして、pom.xmlに貼り付けてください。

申し訳ありませんが、xml-mvn-install-aoは技術的な名前またはコードスニペットのように見えます。このテキストに関する追加の文脈情報や具体的な文章があれば、より正確な翻訳を提供できます。正確な翻訳を提供するためには、文全体や文脈を知る必要があります。例えば、IronPDF、IronOCRなどの製品についての説明や指示の場合、それらを翻訳いたしますので、具体的な文章を送ってください。

また、エラーメッセージ、インストールガイド、または特定のコードに関する説明がある場合、その文脈に基づいて翻訳を行うことが可能です。何か他にお手伝いできることがあれば、お知らせください。 もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

依存関係機能を使用してライブラリを追加

  • 依存関係を右クリックしてください
  • 以下の詳細を最新バージョンで記入し、「依存関係の追加」を選択してください。
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 4: IronPDF依存関係を追加

    IronPDF依存関係を追加

    それでは、Apache PDFBoxをインストールしましょう。

2. Apache PDFBoxのインストール

PDFBoxはIronPDFと同じ方法でダウンロードしてインストールすることができます。

2.1. JAR をダウンロードしてライブラリを手動で追加

公式サイトにアクセスして、PDFBox JARをインストールし ダウンロード 最新バージョン。

プロジェクトを作成した後、プロジェクトセクションで:

  • ライブラリフォルダを右クリックし、Add JAR/Folder オプションを選択します。
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 5: ライブラリの追加

    ライブラリの追加

  • ダウンロードしたJARがあるフォルダーに移動します。
  • PDFBox JARを選択し、「開く」ボタンをクリックします。
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 6: PDFBox JARを開く

    PDFBox JARを開く

Mavenで依存関係としてインストール

pom.xml に依存関係を追加

以下のコードをコピーして、pom.xmlに貼り付けてください。

<dependencies>
    <dependency>  
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox-app</artifactId>
        <version>3.0.0-alpha3</version>
    </dependency>
</dependencies>
XML

これは自動的にPDFBoxの依存関係をダウンロードしてリポジトリフォルダーにインストールします。 それで使用できるようになります。

依存関係機能を使用して依存関係を追加

  • プロジェクトセクション内の依存関係を右クリックします
  • 以下の詳細を最新バージョンで記入し、「依存関係の追加」を選択してください。
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 7: PDFBoxの依存関係を追加

    PDFBoxの依存関係を追加

PDFドキュメントを作成する

3.1. IronPDFの使用

IronPDFは、ファイルを作成するためのさまざまな方法を提供します。 最も重要な2つのメソッドを見てみましょう。

既存のURLからPDFに変換

IronPDFを使用すると非常に簡単に HTMLからドキュメントを生成. 次のコードサンプルは、ウェブページのURLをPDFに変換します。

License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
myPdf.saveAs(Paths.get("url.pdf"));
JAVA

出力は、以下のように適切にフォーマットされて保存されたURLです:

Java向けIronPDFとApache PDF Box for Javaの比較 - 図8: PDFBox依存関係の追加

IronPDF URL出力

HTML入力文字列をPDFに変換

以下のサンプルコードは、HTML文字列を使用してJavaでPDFをレンダリングする方法を示しています。 HTMLストリングもしくはドキュメントを使用して、新しいドキュメントを生成するために変換します。

License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
myPdf.saveAs(Paths.get("html_saved.pdf"));
JAVA

出力は以下の通りです:

A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 9: IronPDF HTML出力

IronPDF HTML出力

3.2. Apache PDFBoxの使用

PDFBoxはさまざまな形式から新しいPDFドキュメントを生成することもできますが、URLやHTML文字列から直接変換することはできません。

以下のコードサンプルは、いくつかのテキストを含むドキュメントを作成します:

//Create document object
PDDocument document = new PDDocument();    

PDPage blankPage = new PDPage();
document.addPage(blankPage);

//Retrieving the pages of the document 
PDPage paper = document.getPage(0);
PDPageContentStream contentStream = new PDPageContentStream(document, paper);

//Begin the Content stream 
contentStream.beginText(); 

//Setting the font to the Content stream  
contentStream.setFont(PDType1Font.TIMES_ROMAN, 12);

//Setting the position for the line 
contentStream.newLineAtOffset(25, 700);

String text = "This is the sample document and we are adding content to it.";

//Adding text in the form of string 
contentStream.showText(text);      

//Ending the content stream
contentStream.endText();

System.out.println("Content added");

//Closing the content stream
contentStream.close();

//Saving the document
document.save("C:/PdfBox_Examples/my_doc.pdf");

System.out.println("PDF created");  

//Closing the document  
document.close();
JAVA
A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 10: PDFBoxポジショニング出力

PDFBoxポジショニング出力

しかし、contentStream.newLineAtOffsetを削除すると(25,700)上記のコード例から ;を削除し、プロジェクトを実行すると、出力がページの下部にあるPDFが生成されます。 これは一部の開発者にとって非常に厄介かもしれません。なぜなら、彼らはテキストを調整しなければならないからです。 (x、y) 座標。 「y = 0`」は、テキストが下に表示されることを意味します。

Java向けIronPDFとApache PDF Boxの比較 - 図11: PDFBoxの位置調整された出力

ポジショニングなしのPDFBox出力

画像をドキュメントに変換

アイアンPDFの使用方法

IronPDFは、複数の画像を簡単に1つのPDFに変換できます。 複数の画像を単一のドキュメントに追加するためのコードは次のとおりです:

import com.ironsoftware.ironpdf.*;  
import java.io.IOException;  
import java.nio.file.*;  
import java.util.ArrayList;  
import java.util.List;  

// Reference to the directory containing the images that we desire to convert
List<Path> images = new ArrayList<>();
images.add(Paths.get("imageA.png"));
images.add(Paths.get("imageB.png"));
images.add(Paths.get("imageC.png"));
images.add(Paths.get("imageD.png"));
images.add(Paths.get("imageE.png"));

// Render all targeted images as PDF content and save them together in one document.
PdfDocument merged = PdfDocument.fromImage(images);
merged.saveAs("output.pdf");
JAVA
Java向けIronPDFとApache PDF Boxの比較 - 図12: PDFBoxの位置指定出力

IronPDF 画像から出力

4.2. Apache PDFBoxの使用

import java.io.File;

import org.apache.pdfbox.pdmodel.PDDocument; 
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

// Reference to the directory containing the images that we desire to convert
Path imageDirectory = Paths.get("assets/images");

// Create an empty list to contain Paths to images from the directory.
List<Path> imageFiles = new ArrayList<>();

PDDocument doc = new PDDocument();

// Use a DirectoryStream to populate the list with paths for each image in the directory that we want to convert
try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
    for (Path entry : stream) {
        imageFiles.add(entry);
    }
    for (int i = 0; i < imageFiles.size(); i++){
        //Add a Page
PDPage blankPage = new PDPage();
        doc.addPage(blankPage);
        PDPage page = doc.getPage(i);

        //Creating PDImageXObject object
        PDImageXObject pdImage = PDImageXObject.createFromFile(imageFiles.get(i).toString(),doc);

        //creating the PDPageContentStream object
        PDPageContentStream contents = new PDPageContentStream(doc, page);

        //Drawing the image in the document
        contents.drawImage(pdImage, 0, 0);

        System.out.println("Image inserted");

        //Closing the PDPageContentStream object
        contents.close();
    }
    //Saving the document
    doc.save("C:/PdfBox_Examples/sample.pdf");

    //Closing the document
    doc.close();

} catch (IOException exception) {
    throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
            imageDirectory,
            exception.getMessage()),
            exception);
}
JAVA
Java向けIronPDFとApache PDFBoxの比較 - 図13: PDFBox画像から出力

IronPDF 画像から出力

5. ドキュメントの暗号化

5.1. IronPDFの使用

IronPDFでパスワードを使用してPDFを暗号化するためのコードは以下の通りです:

// Open a document(or create a new one from HTML)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/composite.pdf"));

// Edit security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");

// Change or set the document encryption password
SecurityManager securityManager = pdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
pdf.saveAs(Paths.get("assets/secured.pdf"));
JAVA

5.2. Apache PDFBoxの使用

Apache PDFBoxは、ファイルをより安全にするためにドキュメントの暗号化も提供します。 メタデータのような追加情報も追加できます。 コードは次のようになります:

//Loading an existing document
File file = new File("C:/PdfBox_Examples/sample.pdf");
PDDocument document = PDDocument.load(file);

//Creating access permission object
AccessPermission ap = new AccessPermission();

//Creating StandardProtectionPolicy object
StandardProtectionPolicy spp = new StandardProtectionPolicy("1234", "1234", ap);

//Setting the length of the encryption key
spp.setEncryptionKeyLength(128);

//Setting the access permissions
spp.setPermissions(ap);

//Protecting the document
document.protect(spp);

System.out.println("Document encrypted");

//Saving the document
document.save("C:/PdfBox_Examples/encrypted.pdf");
//Closing the document
document.close();
JAVA

価格とライセンス

IronPDFの価格とライセンス

IronPDF は、シンプルなPDFアプリケーションの開発に無料で使用でき、商業利用のためにいつでもライセンスを取得できます。IronPDF は、シングルプロジェクトライセンス、シングルデベロッパーライセンス、エージェンシーや多国籍企業向けのライセンス、SaaSおよびOEM再配布ライセンスとサポートを提供しています。 すべてのライセンスは利用可能です 無料トライアル30日間の返金保証と1年間のソフトウェアサポートおよびアップグレードが提供されます。

Liteパッケージは$749でご利用いただけます。 IronPDF製品には一切の定期料金はかかりません。 製品のソフトウェアライセンスに関する詳細情報は、製品 のページにてご確認いただけます。 ライセンス ページ

A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 14: IronPDF ライセンシング

IronPDF ライセンシング

Apache PDFBoxの価格とライセンス

Apache PDFBoxは無料で利用できます。 個人的、社内的、または商業的な目的で使用する場合に関わらず、無料です。

Apache License 2.0 を含めることができます。 (最新バージョン) から これ. ライセンスのコピーを含めるには、単に自分の作業に含め、次の通知をソースコードの冒頭にコメントとして追加することもできます。

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

結論

比較すると、IronPDFは機能性と製品サポートの両面でApache PDFBoxに優れています。 それに加えて、最新のソフトウェア開発には欠かせないSaaSおよびOEMサポートも提供しています。 ただし、このライブラリはApache PDFBoxのように商業利用において無料ではありません。

大規模なソフトウェアアプリケーションを持つ企業は、ソフトウェア開発中に発生する問題を解決するために、サードパーティベンダーからの継続的なバグ修正やサポートを必要とする場合があります。 これは、Apache PDFBoxのような、多くのオープンソースソリューションに欠けている点です。Apache PDFBoxは、開発者コミュニティの自主的なサポートに依存してメンテナンスを続けています。 要約すると、IronPDFはビジネスおよび市場での使用に最適であり、一方でApache PDFBoxは個人および非商業的なアプリケーションに向いています。

IronPDFの機能をテストするための無料体験版もあります。 試してみてください または 今すぐ購入.

すべてのIron Software製品が大幅に値引きされた価格でIron Suiteに含まれています。こちらのページをご覧ください ウェブページ この素晴らしい取引に関する詳細情報について。

< 以前
Java向けのIronPDFとSpire.PDF Javaの比較
次へ >
Java用のIronPDFとJava用のiTextPDF itext7の比較

準備はできましたか? バージョン: 2024.9 新発売

無料のMavenダウンロード View Licenses >