产品比较

IronPDF For Java与iTextPDF itext7 for Java的比较

发布 2023年一月15日
分享:

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

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

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

  • IronPDF for Java 库:Java PDF 库,专注于从 HTML 生成 PDF。
  • ITextPDF 库:Java 优先的开源库,专注于使用可编程 API 生成 PDF。

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

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

安装 ITextPDF Java

ITextPDF 可在以下网址免费下载iTextPDF 网站. 该库根据 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 库功能

  • 从 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 输入(字符串、文件或输入流),并返回文件、输出流或文档对象。
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 for Java 将 HTML 字符串转换为 PDFs

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 for 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 天退款保证。
  • 许可证适用于所有环境(翻译的内容包括:.NET、Java、Python 或 Node js。)
  • 许可证包括一年的无条件支持。
  • IronPdf 许可证只需一次性购买。
    IronPDF for Java 与 iTextPDF itext7 for Java 的比较 - 图 7

IronPDF 与 iText 对比

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

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

IronPdf 的 API 是围绕优化开发人员的工作效率而构建的。 IronPDF 简化了 PDF 编辑、操作、创建和其他复杂任务,开发人员只需几行代码即可完成这些任务。

结论

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

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

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

免费 Maven 下载 查看许可证 >