產品比較

IronPDF for Java 和 iTextPDF itext7 for Java 的比較

發佈 2023年1月15日
分享:

今天,開發人員可以受益於不斷改進的技術所帶來的更佳解決方案。

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

本文將比較兩個對Java開發人員編輯、打印和創建PDF文件最受好評的PDF庫:

  • IronPDF 圖書館:一個基於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.9.1</version>
</dependency>

注意:您可以手動下載 .jar 檔案:

  1. 前往 Maven倉庫2. 提取zip檔案的內容。

  2. 建立一個資料夾並複製zip資料夾的內容。

  3. 打開Eclipse IDE。

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

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

  6. 完成專案創建嚮導。就是這樣。!

IronPDF 功能

開發人員可以利用強大的IronPDF PDF庫快速生成、讀取和操作PDF。IronPDF在其核心使用chrome引擎,並提供大量實用且強大的功能,包括能夠將HTML5、JavaScript、CSS和圖像文件轉換為PDF。IronPDF還可以添加獨特的頁眉和頁腳,並精確地創建與網頁瀏覽器中顯示的相同的PDF文件。IronPDF支持各種網頁格式,包括HTML、ASPX、Razor View和MVC。IronPDF的主要特徵如下:

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

安裝 ITextPDF Java

ITextPDF 可以免費下載於 https://itextpdf.com/. 該庫在 AGPL 軟體許可模式下開源。

要將 iText 庫添加到您的應用程式中,請將以下 Maven 儲存庫包含在我們的 pom.xml 文件中。

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

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

IText Library Features

  • 從 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。

圖片和 CSS 文件可以包含在 HTML 文件中。但它們必須在 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 可免費用於開發,並且可以隨時授權用於商業部署。 授權可用 適用於單個專案的使用、個人開發者、代理商和全球企業,以及 SaaS 和 OEM 再分發。所有授權都包括30天退款保證、一年的產品支持和更新、有效的開發/測試/生產環境授權,並且還包括永久授權。 (一次性購買).

價格方面,Lite 套件的起價為 $749。

  • 開發人員可以無限制地使用該庫進行開發。 就一般授權而言,費率非常具成本效益
  • 免費的一年無限制支援 免費試用 也可供授權使用
  • 所有授權均包括30天退款保證
  • 授權在所有環境中均有效 (開發、測試、生產等)
  • 授權包含一年的無條件支援
  • IronPDF 授權僅需一次性購買
IronPDF和iTextPDF itext7之間的比較 - 圖7

IronPDF vs 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.9 剛剛發布

免費 Maven 下載 查看許可證 >