产品比较

IronPDF For Java与iTextPDF itext7 for Java的比较

发布 2023年一月15日
分享:

如今,由于技术的不断进步,开发人员可以从更好的解决方案中受益。

软件开发流程的未来在于自动化。长期以来,PDF 文件一直是开发人员面临的难题。在处理 PDF 文件时 (即制作内容和将其他格式的内容转换为 PDF 格式)因此,有许多问题需要考虑。随着众多旨在帮助读取、书写、创建甚至转换多种格式 PDF 的库的开发,这些需求现在都能得到满足。

本文将比较两个最受 Java 开发人员欢迎的用于编辑、打印和创建 PDF 文件的 PDF 库:

  • IronPDF 库:基于 Java 的 PDF 库,专注于从 HTML 生成 PDF。
  • ITextPDF 库:一个基于 Java 的开放源代码库,侧重于使用可编程 API 生成 PDF。

我们将研究这两个库的功能,然后再研究转换和处理 PDF 的性能支出,以确定哪个库最适合您的应用程序。此外,我们还将记录每个库的持续时间,以供日后研究之用。

安装 IronPDF Java

安装 用于 Java 的 IronPDF您只需将其声明为依赖关系即可。要将 IronPDF 定义为依赖项,请在 pom.xml 中添加以下内容

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

注意:您可以手动下载 .jar 文件:

1.转到 !!--inline-anchor_ironpdfjava-fatjar。 {Maven Repo} --!!.

2.解压压缩文件的内容。

3.创建一个文件夹并复制压缩文件夹中的内容。

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、
  • 从任何具有用户代理、代理、Cookie、HTTP 标头和表单变量设置的网站 URL 链接创建 PDF,以支持使用 HTML 登录表单进行登录、
  • 从已存在的 PDF 出版物中删除照片、
  • 在 PDF 中添加文本、照片、书签、水印和其他元素、
  • 合并和分割多个 PDF 文档的页面、
  • 将 CSS 文件等媒体类型文件转换为文档。

安装 ITextPDF Java

ITextPDF 可在以下网址免费下载 https://itextpdf.com/.该库根据 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 的转换。该方法接受 StringFileInputStream 等 HTML 输入,并返回 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 文件。

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

Licensing

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 天退款保证、一年的产品支持和更新、开发/分期/生产的有效性以及永久许可证。 (一次性购买).

精简版软件包的起价为 $749。

  • 开发人员可以无限制地使用该库进行开发。在一般许可方面,费率非常合算
  • 一年无限期免费支持
  • 免费试用 也可用于许可目的
  • 所有许可证均提供 30 天退款保证
  • 许可证对所有环境都有效 (开发、暂存、生产等)
  • 许可证包括一年的无条件支持

  • IronPDF 许可证只需一次性购买
IronPDF for Java 与 iTextPDF itext7 for Java 的比较 - 图 7

IronPDF vs iText

iText 和 IronPDF 之间有几处明显的不同。

iText 的应用程序接口是围绕编程模型构建的。在这种模式下,对 PDF 属性和内容的操作更加低级和细化。虽然这为程序员提供了更多的控制和灵活性,但也需要编写更多的代码来实现用例。

IronPDF 的应用程序接口(API)是围绕优化开发人员的工作效率而设计的。IronPDF 简化了 PDF 编辑、操作、创建和其他复杂任务,开发人员只需几行代码即可完成这些任务。

结论

Iron Software 的所有客户都可以选择购买整套软件包,只需点击两下即可。目前,您可以从 Iron 软件套件只需从套件中购买两个图书馆的费用,就能获得每个图书馆的支持和持续支持。

< 前一页
IronPDF for Java 与 Apache PDFBox 的比较
下一步 >
IronPDF For Java与Aspose.PDF For Java的比较

准备开始了吗? 版本: 2024.9 刚刚发布

免费 Maven 下载 查看许可证 >