產品比較

IronPDF for Java 與 OpenPDF 的比較

發佈 2023年3月10日
分享:

發現適用於您的 Java 應用程序的最佳 PDF 庫。在本文中,我們將探討 Java PDF 庫如何能增強您的項目,並根據其功能、授權費用以及教程來比較兩個頂級庫。過去,在 Java 中處理 PDF 文件是一項挑戰,但隨著技術的進步,現在有許多 Java API 可用於管理這些文件。

我們將要檢查的兩個庫是: IronPDF for Java

這兩個庫都提供了在 Java 中創建、編輯和打印 PDF 檔案的功能。在這次比較中,我們將簡要評估它們的綜合能力、代碼庫以及安裝的便捷性。

首先,讓我們來看看 IronPDF。

IronPDF for Java

IronPDF for Java 可以建立和管理 PDF 檔案。它允許開發者在不需要 Adobe 軟體的情況下讀取、創建和編輯 PDF 檔案。開發者可以添加自訂的頁首和頁尾、添加簽名及其他安全性限制。完全的多執行緒和非同步支持幫助 IronPDF 在開發者需要時實現高性能。

IronPDF 功能

IronPDF for Java 提供多種 PDF 生產和操作工具,使開發人員能夠快速提升其 Java 應用程序的功能。

HTML-to-PDF 轉換: 此功能可以生成 PDF 文件,從 HTML 文件、MVC 視圖、Web 表單和 URL 轉換。

PDF 影像處理: 此功能允許開發人員從圖像創建 PDF 並從 PDF 中提取圖像。

PDF 編輯: IronPDF 可以添加水印、頁眉、頁腳、背景和前景,添加和刪除頁面等。

PDF 內容提取: IronPDF 可以從 PDF 中提取文本和圖像。 (從嵌入式PDF圖像中提取文本可能需要使用 IronOCR 腳本庫.

相容性:IronPDF for Java 與 Java 8+ 以及所有現代作業系統和 IDE 兼容。

OpenPDF

OpenPDF是一個開源的,免費的Java庫,具有雙重LGPL和MPL許可證,專門設計用來處理PDF。它允許生成和操作PDF文檔,還可以編輯現有文檔和提取內容。無論是創建新的PDF文檔還是編輯現有的文檔,OpenPDF都是處理PDF文檔的便利工具。

OpenPDF 功能

創建 PDF 和列印: OpenPDF 讓您從頭開始創建新的 PDF 文件,並使用 Java 列印 API 列印 PDF 文件。

拆分和合併: OpenPDF 可以將一個 PDF 拆分成多個文件,或將多個 PDF 文件合併成一個 PDF 文件。

提取文字: OpenPDF 讓您從 PDF 文件和 PDF 表單中提取文字。

簽名: OpenPDF 也讓開發人員可以數字簽署 PDF 文件。

儲存為圖片: OpenPDF 可以將 PDF 文件儲存為圖像文件,如 JPEG 或 PNG。

Office 到 PDF: OpenPDF 可以將 MS Word、MS PowerPoint 和 MS Excel 轉換為 PDF 文件。

解析 HTML: 它還提供將 HTML 文件解析為 PDF 文件。

IronPDF for Java 安裝

安裝 IronPDF for Java 是一個簡單的過程,即使是新的 Java 開發者也能輕鬆上手。

要使用 IronPDF for Java,您需要一個 IDE。在本文中,我們將使用 JetBrains IntelliJ IDE 進行安裝和示例。

首先,打開 JetBrains IntelliJ IDE 並創建一個新的 Maven 項目。

IronPDF for Java 與 OpenPDF for Java 的比較 - 圖1:JetBrains IntelliJ IDE

JetBrains IntelliJ IDE

將會出現一個新視窗。輸入項目的名稱,然後點擊「完成」按鈕。

IronPDF for Java 與 OpenPDF for Java 的比較 - 圖 2:新項目名稱

新的 JetBrains IntelliJ 專案

在點擊「完成」後,將會開啟一個新專案,並且預設的 pom.xml 檔案將會被打開。這很棒,因為我們需要將 IronPDF for Java 的 Maven 依賴項添加到這個檔案中。

IronPDF for Java 與 OpenPDF for Java 之比較 - 圖3:打開帶有 pom.xml 檔案的新專案

一個新專案的pom.xml文件

將以下依賴項添加到 pom.xml 文件中。

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2024.9.1</version>
</dependency>

一旦將依賴項添加到POM.xml文件,POM.xml文件的右上角會出現一個小圖標。

IronPDF for Java 與 OpenPDF for Java 的比較 - 圖 4:文件右上角顯示的小圖標

在 IntelliJ 中,每當添加或修改依賴項時,POM 文件的右上角會出現一個小的 Maven 圖示。

點擊此圖標以安裝 IronPDF for Java 的 Maven 依賴項。此過程可能需要幾分鐘,具體時間取決於您的網絡連接。

安裝 OpenPDF

安裝 OpenPDF 與安裝 IronPDF for Java 類似。

首先,打開 JetBrains IntelliJ IDE 並創建一個新的 Maven 專案。

IronPDF for Java 與 OpenPDF for Java 的比較 - 圖 5:新的 Maven 項目

在 IntelliJ 中的新 Maven 项目

將會出現一個新視窗。輸入項目的名稱,然後點擊「完成」按鈕。

A Comparison Between IronPDF for Java and OpenPDF for Java - Figure 6: 新專案視窗

新專案視窗

點擊「完成」後,一個新專案將會打開,並顯示預設的pom.xml檔。這是好的,因為我們需要添加OpenPDF的Maven依賴。

IronPDF for Java 與 OpenPDF for Java 的比較 - 圖7:在 JetBrains IDE 中打開的 pom.xml

在 IntelliJ 中,使用新專案嚮導創建新專案後,pom.xml 文件會自動打開。

將 OpenPDF 依賴項添加到 pom.xml 文件的 dependencies 部分。

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

當您添加倉庫和依賴代碼時,小圖標會出現在pom.xml文件的右上角。

IronPDF for Java 和 OpenPDF for Java 的比較 - 圖 8:開啟 pom.xml 的 JetBrains IDE 視窗

開啟的 IntelliJ 專案中的 pom.xml 檔案。

點擊圖標以安裝 OpenPDF for Java 依賴項。幾分鐘後,安裝將完成並準備就緒。

建立新的 PDF 檔案

除了用戶吸引力之外,PDF 還提供多種技術優勢。PDF 檔案是平台無關的,可以在任何作業系統或設備上讀取。它們還能保留格式和佈局,確保文件不論由誰打開都呈現一樣的樣式。PDF 檔案也很小巧,容易分享和存儲。通過在您的 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 {
        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
IronPDF for Java 與 OpenPDF for Java 的比較 - 圖9:打開pom.xml的JetBrains IDE視窗

使用 IronPDF 生成的 PDF

使用 OpenPDF 創建新的 PDF 文件

創建新的 PDF 文件可以使用 OpenPDF,如下所示是用來完成這項操作的代碼:

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.PdfName;
import com.lowagie.text.pdf.PdfString;
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("Hello World");
        Document document = new Document();
        try {
            PdfWriter.getInstance(document,
                    new FileOutputStream("HelloWorld.pdf"));
            document.open();
            document.add(new Paragraph("Hello World"));
        } catch (DocumentException de) {
            System.err.println(de.getMessage());
        } catch (IOException ioe) {
            System.err.println(ioe.getMessage());
        }
        document.close();
    }
}
JAVA
IronPDF for Java 與 OpenPDF for Java 的比較 - 圖 10: 使用 OpenPDF 生成的 PDF

使用 OpenPDF 生成的 PDF

將 HTML 轉換為 PDF

人們經常訪問網頁。有幾個網站您可能會想要經常檢查。每次訪問網站可能並不可行。如果您需要經常訪問該信息,將其儲存為您可以隨時從手機或筆記型電腦訪問的文檔會更方便。PDF 格式是一個更好的選擇,因為它提供了密碼保護的好處,使文檔更加安全。

將 HTML 轉換為 PDF 是 PDF 庫中最常用的功能之一,幾乎每個開發人員都會使用它,因為它的好處。在本節中,我們將討論 IronPDF for Java 和 OpenPDF 的程式碼範例。

使用 IronPDF 將 HTML 轉換為 PDF

IronPDF 的先進渲染器提供三種不同的方法,無縫地將 HTML 轉換為 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 {
        License.setLicenseKey("YOUR-LICENSE-KEY");
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

        // Save the PdfDocument to a file
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
    }
}
JAVA
IronPDF for Java 和 OpenPDF for Java 的比較 - 圖11:使用 IronPDF 將 HTML 轉換為 PDF 的輸出顯示

使用 IronPDF 將本機 HTML 文件轉換為 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 {
        License.setLicenseKey("YOUR-LICENSE-KEY");
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> Example of HTML to PDF using IronPDF for Java </h1> IronPDF for java is robust Java API for creating, converting and manipulating PDF files");
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA
IronPDF for Java 與 OpenPDF for Java 的比較 - 圖 12:使用 IronPDF 將 HTML 轉換為 PDF 的輸出結果

使用 IronPDF 將 HTML 字串轉換為 PDF 的結果

URL轉PDF

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

public class main {
    public static void main(String [] args) {
        License.setLicenseKey("YOUR-LICENSE-KEY");
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
        try {
            myPdf.saveAs(Paths.get("url.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
JAVA
IronPDF for Java 和 OpenPDF for Java 的比較 - 圖 13:使用 IronPDF 將 HTML 轉換為 PDF 的輸出

使用 IronPDF 將 Amazon.com 頁面轉換為 PDF

使用 OpenPDF 將 HTML 轉換為 PDF

IronPDF 庫提供了先進的渲染功能,可通過三種不同的方式將 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;

public class main {

    /**
     * Generates an HTML page with the text 'Hello World'
     *
     * @param args no arguments needed here
     */
    public static void main(String [] args) {
        System.out.println("Parse Hello World");

        try (Document document = new Document()) {
            PdfWriter.getInstance(document, new FileOutputStream("contact.pdf"));
            document.open();
            HtmlParser.parse(document, main.class.getClassLoader().getResourceAsStream("contact.html"));
        } catch (DocumentException 
 IOException de) {
            System.err.println(de.getMessage());
        }
    }
}
JAVA
A Comparison Between IronPDF for Java and OpenPDF for Java - Figure 14: 使用 OpenPDF 將 HTML 轉換為 PDF

使用 OpenPDF 將 HTML 轉換為 PDF

圖像轉換為 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 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);
            }         PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
                    imageDirectory,
                    exception.getMessage()),
                    exception);
        }
    }
    }
JAVA
A Comparison Between IronPDF for Java and OpenPDF for Java - Figure 15: 使用 IronPDF 進行圖像轉 PDF 轉換

使用 IronPDF 進行圖像轉 PDF 轉換

使用 OpenPDF 的圖片轉 PDF 轉換器

OpenPDF 也提供圖片轉 PDF 的功能,但僅限於特定格式。這些格式包括 PNG、JPG 和 TIFF。

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

public class main {

    public static void main(String [] args) {

        System.out.println("Images");

        // step 1: creation of a document-object
        Document document = new Document();

        try {
            // step 2:
            // we create a writer that listens to the document
            // and directs a PDF-stream to a file
            PdfWriter.getInstance(document, new FileOutputStream("Images.pdf"));

            // step 3: we open the document
            document.open();

            // step 4:
            document.add(new Image("11.png") {
            });
            Image jpg = Image.getInstance("11.png");

        }
        catch(DocumentException 
 IOException de) {
            System.err.println(de.getMessage());
        }

        // step 5: we close the document
        document.close();
    }
}
JAVA
A Comparison Between IronPDF for Java and OpenPDF for Java - Figure 16: 使用OpenPDF將圖像轉換為PDF

使用OpenPDF將圖像轉換為PDF

價格與授權

IronPDF for Java 是一個強大的 PDF 函式庫,可用於個人和商業用途。它為開發人員提供多種授權選項,包括單一項目授權、SaaS 和 OEM 重新分發,以及跨國公司授權。Lite 套件的價格起價為 $749 美元,其中包括永久授權、30 天退款保證和一年軟體支持和升級。IronPDF 的優點之一在於沒有反覆性的成本,這意味著一旦購買授權,即可終身使用。

IronPDF for Java與OpenPDF for Java之比較 - 圖17: IronPDF授權

IronPDF 授權

在開發人員項目中,授權選項起著至關重要的作用。OpenPDF 是開源軟體,根據 LGPL 和 MPL 開源授權條款授權。這意味著任何使用包含 OpenPDF 的應用程式的人 (即使透過商業網路或互聯網) 如果依照 LGPL 和 MPL 授權,您可能有權獲得程式原始碼的完整副本,使其成為學術用途理想的選擇。然而,對於商業專案,建議您聯絡 OpenPDF 查詢任何相關成本的估算。

結論

Java 開發人員和 IT 專業人員可以輕鬆地使用 IronPDF 庫將 PDF 集成到他們的 Java 應用程式中。該庫提供了廣泛的功能,包括格式化 PDF 檔、生成圖表和圖形、將 HTML 和圖像轉換為 PDF、拆分和合併 PDF 檔以及修改 PDF 文件。IronPDF 支援從 Java 8 開始的所有 Java 版本以及 JVM 語言,例如 Java、Kotlin 和 Scala。該庫還配備了增強的 PDF 文件安全功能。

OpenPDF 是一個開源、免費的 Java 庫,具有 LGPL 和 MPL 授權。它允許創建和修改 PDF 文件以及從中提取內容。儘管 OpenPDF 對於生成新 PDF 文件或編輯現有文件非常有用,但在操作 PDF 檔方面的功能不如 IronPDF 多。

單純基於許可證無法比較 IronPDF 和 OpenPDF,因為一個是商業庫,另一個是開源的。然而,在功能方面,OpenPDF 對於操作 PDF 檔的選項有限。另一方面,IronPDF for Java 提供了更多的功能。 免費試用 供開發人員測試該庫及其高級功能。

IronPDF 提供比 OpenPDF 更多的功能。此外,IronPDF 提供了大量的文檔,使得使用該庫編寫代碼非常簡單。OpenPDF 通常會生成冗長且複雜的代碼,並且很少有可用的文檔。

OpenPDF 的 HTML 到 PDF 轉換不適用於大型 HTML 文件,並且不支持 URL 到 PDF 轉換。

< 上一頁
IronPDF For Java 與 Qoppa Software – Java PDF Library 的比較
下一個 >
IronPDF for Java 與 Spire.PDF Java 的比較

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 Maven 下載 查看許可證 >