產品比較

IronPDF for Java 和 iTextPDF itext7 for Java 的比較

發佈 2023年1月15日
分享:

如今,由於技術的不斷進步,開發人員可以受益於更好的解決方案。

軟體開發流程的未來在於自動化。 長期以來,PDF 文件一直為開發人員帶來困難。 處理 PDF 時(即,製作內容並將其他格式的內容轉換為 PDF),需考慮眾多因素。 隨著眾多庫的開發,這些庫旨在協助讀取、寫入、創建甚至從多種格式轉換 PDF,這些需求現在得到了滿足。

本文將比較兩個最受Java開發人員歡迎的PDF庫,用於編輯、列印和創建PDF檔案:

-IronPDF Java函式庫: 一個 Java PDF 庫,專注於從 HTML 生成 PDF。

  • ITextPDF 庫:一個以 Java 為核心的開源庫,專注於使用可編程 API 生成 PDF。

    我們將在分析轉換和處理PDF的性能成本之前,先檢查這兩個庫的特性,以確定哪個庫最適合您的應用程序。 此外,每個庫的持續時間將被記錄下來以供後續研究。

安裝 IronPDF Java

安裝IronPDF for Java您只需將其宣告為依賴項。 要將 IronPDF 定義為依賴項,請在您的 pom.xml 中添加以下內容:

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

注意:您可以手動下載 .jar 文件:

  1. 前往IronPDF for Java Maven 存儲庫訪問 Maven Repo 頁面。

  2. 解壓縮檔案內容。

  3. 創建一個資料夾並複製 zip 資料夾的內容。

  4. 打開 Eclipse IDE。

  5. 建立一個新的 Java 專案。

  6. 將 IronPDF 的 .jar 檔案添加到類路徑中。

  7. 完成專案創建精靈。 就是這樣!

IronPDF 功能

開發人員可以使用功能強大的IronPDF PDF庫快速創建、讀取和操作PDF。 IronPDF 使用 Chrome 引擎作為核心,提供豐富且強大的功能,包括將 HTML5、JavaScript、CSS 和圖像文件轉換為 PDF 的能力。 IronPDF 也可以添加獨特的頁首和頁尾,並精確地生成與網頁瀏覽器中顯示一致的 PDF 文件。 IronPDF 支援多種網頁格式,包括 HTML、ASPX、Razor View 和 MVC。 IronPDF 的關鍵屬性如下:

  • 輕鬆使用 Java 程式創建、閱讀和編輯 PDF。
  • 從任何網站 URL 連結創建 PDF,該連結具有用戶代理、代理伺服器、Cookies、HTTP 標頭和表單變數的設置,以支援使用 HTML 登錄表單進行登錄。
  • 從已存在的 PDF 出版物中移除照片,
  • 將文字、照片、書籤、水印及其他元素添加到PDF中,
  • 合併和分割多個 PDF 文件的頁面,
  • 將媒體類型的文件,包括 CSS 文件,轉換為文檔。

安裝 ITextPDF Java

ITextPDF 免費提供於iTextPDF 網站. 此函式庫在 AGPL 軟體授權模式下是開源的。

要將iText庫添加到您的應用程式中,請在您的pom.xml檔案中加入以下Maven倉庫。

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.2</version>
</dependency>
XML

直接下載 iTextPDF .jar 檔案並直接下載 slf4j.jar 檔案。 要使用這些函式庫,請將 iTextPDF .jar 文件添加到系統的類路徑中。

IText 庫功能

  • 從 HTML、XML 和圖像創建 PDF(png、jpg 等。)
  • 將書籤、頁碼和標記添加到 PDF 文件中
  • 將 PDF 文件拆分為多個 PDF 或將多個 PDF 組合成單個 PDF。
  • 以編程方式編輯 PDF 表單
  • 將文字、圖像和幾何圖形添加到 PDF 中

使用 iTextPDF Java 將 HTML 字串轉換為 PDF

在 iText for Java 中,HTMLConverter 是用來將 HTML 轉換為 PDF 的主要類別。

HTMLConverter中有三個主要方法:

  • convertToDocument,返回一個 Document 物件
  • convertToElements,返回 IElement 對象的列表
  • convertToPdf 處理將 HTML 內容轉換為 PDF。 此方法接受 HTML 輸入,格式可以是 StringFileInputStream,並返回 FileOutputStreamDocument 對象。
package com.hmkcode;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.html2pdf.HtmlConverter;

public class App 
{
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='hmkcode.com'>hmkcode.com</a>";

    public static void main( String [] args ) throws FileNotFoundException, IOException  
    {
    HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));

        System.out.println( "PDF Created!" );
    }
}
JAVA
IronPDF For Java 與 iTextPDF itext7 for Java 的比較 - 圖 1

使用 IronPDF Java 將 HTML 字串轉換為 PDF

IronPDF 的 PdfDocument 類別提供了多個靜態方法,讓 Java 開發者可以從各種來源生成 HTML 文本。 其中一種方法是 PdfDocument.renderHtmlAsPdf 方法,用於將一段 HTML 標記轉換成 PDF 文件。


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

使用 ITextPDF Java 將 HTML 文件轉換為 PDF

convertToPdf 方法可以用來將任何 HTML 檔案轉換為 PDF。

HTML 文件中可能包含圖像和 CSS 文件。然而,它們必須位於 HTML 文件中的相同位置。我們可以使用 ConverterProperties 類來設定引用的 CSS 和圖像的基礎路徑。 當 HTML 檔案資源位於不同目錄時,這會很有用。

請考慮一個包含以下標記的 index.html。

<html>
<head>
    <title>HTML to PDF</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <h1>HTML to PDF</h1>
    <p>
        <span class="itext">itext</span> 7.1.9 
        <span class="description"> converting HTML to PDF</span>
    </p>
    <table>
        <tr>
            <th class="label">Title</th>
            <td>iText - Java HTML to PDF</td>
        </tr>
        <tr>
            <th>URL</th>
            <td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
        </tr>
    </table>
</body>
</html>
<html>
<head>
    <title>HTML to PDF</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <h1>HTML to PDF</h1>
    <p>
        <span class="itext">itext</span> 7.1.9 
        <span class="description"> converting HTML to PDF</span>
    </p>
    <table>
        <tr>
            <th class="label">Title</th>
            <td>iText - Java HTML to PDF</td>
        </tr>
        <tr>
            <th>URL</th>
            <td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
        </tr>
    </table>
</body>
</html>
HTML

以下源代碼將 index.html 文件轉換為 PDF:

package com.hmkcode;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.html2pdf.HtmlConverter;

public class App 
{
    public static void main( String [] args ) throws FileNotFoundException, IOException  
    {
    HtmlConverter.convertToPdf(new FileInputStream("index.html"), 
            new FileOutputStream("index-to-pdf.pdf"));

        System.out.println( "PDF Created!" );
    }
}
JAVA
IronPDF For Java 和 iTextPDF itext7 for Java 的比較 - 圖2

使用 IronPDF for Java 將 HTML 文件轉換為 PDF

IronPDF 的 PdfDocument.renderHtmlFileAsPdf 方法可將位於計算機或網絡文件路徑上的 HTML 文件轉換為 PDF。

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
JAVA

使用 IronPDF Java 向 PDF 文件添加圖像

您可以使用 IronPDF 的 PdfDocument.fromImage 方法將一組圖像渲染為單個 PDF 文件。下一個示例將此方法應用於位於不同文件系統路徑的短圖像列表。

// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);

// Convert the three images into a PDF and save them. 
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
JAVA

使用 ITextPDF Java 將圖像添加到 PDF

下面的完整代碼範例使用iText將當前工作目錄中的兩張圖片轉換為一個PDF文件。

import java.io.*;

// Importing iText library packages
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;

public class InsertImagePDF {
public static void main(String [] args) throws IOException {
        String currDir = System.getProperty("user.dir");

        // Getting path of current working directory
        // to create the pdf file in the same directory of
        // the running java program
        String pdfPath = currDir + "/InsertImage.pdf";

        // Creating path for the new pdf file
        PdfWriter writer = new PdfWriter(pdfPath);

        // Creating PdfWriter object to write the PDF file to
        // the path
        PdfDocument pdfDoc = new PdfDocument(writer);

        // Creating a Document object
        Document doc = new Document(pdfDoc);

        // Creating imagedata from image on disk(from given
        // path) using ImageData object
        ImageData imageDataA = ImageDataFactory.create(
        currDir + "/imageA.jpg");
        Image imgA = new Image(imageDataA);
        ImageData imageDataB = ImageDataFactory.create(
        currDir + "/imageB.jpg");
        Image imgB = new Image(imageDataB);

        // Creating Image object from the imagedata
        doc.add(imgA);
        doc.add(imgB);

        // Adding Image to the empty document
        doc.close();

        // Close the document
        System.out.println("Image added successfully and PDF file created!");
    }
}
JAVA
IronPDF For Java與iTextPDF itext7 for Java之間的比較 - 圖3

授權

iTextSharp 是開源的,並根據 AGLP 授權。

IronPDF For Java 與 iTextPDF itext7 for Java 的比較 - 圖 4

這可確保任何使用包含iTextSharp的應用程式的人,即使他們透過企業網絡或互聯網使用,也有權獲得應用程式完整的源代碼副本。

IronPDF For Java 與 iTextPDF itext7 for Java 之比較 - 圖 5

如有意將此軟體用於商業應用,請直接聯繫iText洽詢授權的價格。

IronPDF For Java 與 iTextPDF itext7 for Java 的比較 - 圖6

IronPDF 在開發中免費使用,並且始終可以獲得商業部署的授權。 IronPDF 授權詳細資訊用於單項目使用、個人開發者、代理商和全球企業,以及SaaS和OEM重新分發。 所有授權均包含30天退款保證、一年的產品支援和更新,有效於開發/測試/生產環境,並且還有永久授權。(一次性購買).

Lite 套件的價格從 $749 起。

  • 開發人員可以無限制地使用該庫進行開發。 在一般授權方面,費率非常划算。
  • 一年免費不限量支援。
  • 免費試用版也可用於許可目的。
  • 所有授權均包含30天退款保證。
  • 授權證書在所有環境中均有效(開發、測試、生產等。)
  • 許可證包括一年的無條件支持。
  • IronPDF授權需要一次性購買。
    IronPDF和iTextPDF itext7之間的比較 - 圖7

IronPDF 與 iText

iText 和 IronPDF 之間有幾個顯著的差異。

iText 的 API 是基於程式化模型結構化的。 在此模型下,PDF屬性和內容的操作更加低層次和細緻。 雖然這讓程式設計師擁有更多的控制權和彈性,但也需要撰寫更多代碼來實現使用案例。

IronPDF 的 API 是圍繞著優化開發者的生產力而構建的。 IronPDF 透過允許開發人員僅用幾行程式碼即可完成,簡化了 PDF 編輯、操作、創建和其他複雜任務。

結論

Iron Software 的所有客戶都可以僅點擊兩次即可購買整個套件。 您目前可以從以下地方購買所有五個函式庫Iron Software 套件以及每個函式庫的持續支援,費用僅為整組中兩個函式庫的價格。

< 上一頁
IronPDF for Java 和 Apache PDFBox 的比較
下一個 >
IronPDF For Java 與 Aspose.PDF For Java 比較

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

免費 Maven 下載 查看許可證 >