使用IRONPDF FOR JAVA

如何从 Java 应用程序动态生成 PDF 文件

本教程将解释如何在 Java 应用程序中动态创建 PDF 文件,并探讨从文本、URL 和 HTML 页面创建 PDF 页面的代码示例。 之后,它将涵盖从新文档实例创建受密码保护的 PDF 文件。

IronPDF Java Library 是理想的选择,因为它在开发中免费使用,安全性更高,提供所有功能于单一库中且具备100%准确性,并且性能卓越。

在继续前行之前,我们先来简单介绍一下 IronPDF。

IronPDF

IronPDF Java 库 是由 Iron Software 开发的最受欢迎的 Java PDF 库,用于创建 PDF、编辑新文件和操作现有 PDF。 它的设计兼容多种 JVM 语言,包括 Java、Scala 和 Kotlin,并可在多种平台上运行,包括 Windows、Linux、Docker、Azure 和 AWS。 IronPdf 可与 IntelliJ IDEA 和 Eclipse 等流行的集成开发环境配合使用。

主要功能包括从HTML、HTTP、JavaScript、CSS、XML文档和各种图像格式创建PDF文件的能力。 此外,IronPDF 提供了添加页眉和页脚在 PDF 中创建表格添加数字签名、附件、实现密码和安全功能的功能。 它支持完整的多线程和更多功能

现在,让我们从创建动态文档的代码示例开始。

首先,创建一个新的 Maven 资源库项目。

创建一个新的 Java 项目

为便于演示,本教程将使用 IntelliJ IDE。您可以使用自己选择的集成开发环境。创建新 Java 项目的步骤可能因 IDE 而异。请使用以下步骤:

  1. 启动 IntelliJ IDE。

  2. 选择文件 > 新建 > 项目

  3. 输入项目标题。

  4. 选择地点、语言、构建系统和 JDK。

  5. 点击创建按钮。

    如何动态生成Java应用程序中的PDF文件,图1:创建项目

    创建项目

    为您的项目命名,选择位置、语言、构建系统和JDK,然后选择创建按钮选项。 将创建一个新项目。

    现在,在此演示 Java 应用程序中安装 IronPdf。

安装 IronPDF for Java 库

下一步是在pom.xml文件中添加依赖项以安装IronPDF。 在pom.xml文件中添加以下XML源代码,如下所示。

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

立即构建项目。 该应用程序将自动从Maven仓库安装库。

让我们从一个将 HTML 字符串转换为 PDF 文件的简单例子开始。

创建 PDF 文档

考虑以下示例:

public static void main(String[] args) throws IOException, PrinterException { 
    String htmlString = "<h1>My First PDF File<h1/><p> This is a sample PDF file</p>";
    //document class
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);

    // Save the PdfDocument to a file
    try {
        myPdf.saveAs(Paths.get("myPDF.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException, PrinterException { 
    String htmlString = "<h1>My First PDF File<h1/><p> This is a sample PDF file</p>";
    //document class
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);

    // Save the PdfDocument to a file
    try {
        myPdf.saveAs(Paths.get("myPDF.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

在上述函数中,HTML 内容被分配给一个字符串变量。 [renderHtmlAsPdf 方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)接受一个字符串作为参数,并将HTML内容转换为PDF文档实例。 saveAs 方法 接受位置路径作为输入,并将 PDF 文件的实例保存在所选目录中。

由上述代码生成的 PDF 如下所示。

如何从Java应用程序动态生成PDF文件,图2:输出

输出

从 HTML 文件生成 PDF 文件

IronPdf 还提供从 HTML 文件生成 PDF 文件的神奇功能。

示例中将使用的 HTML 文件示例如下所示。

如何从 Java 应用程序动态生成 PDF 文件,图 3:呈现的 HTML 带有新的段落

带有新段落的渲染HTML

以下是生成 PDF 的示例代码片段:

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

renderHtmlFileAsPdf 方法 接受 HTML 文件的路径作为参数,并将其转换成 PDF 文档。随后,该 PDF 文件使用 saveAs 方法保存到本地磁盘。

该程序生成的 PDF 格式文件如下所示。

如何从 Java 应用程序动态生成 PDF 文件, 图 4: PDF 输出

PDF 输出

下一步是使用一个包含 JavaScript 和 CSS 的相当大的 HTML 文档,并在将 HTML 转换为 PDF 时检查设计的准确性和一致性。

从 HTML 文件生成 PDF 文件

将使用以下 HTML 页面示例,其中包括图片、动画、样式、jQuery 和 Bootstrap。

如何从 Java 应用程序动态生成 PDF 文件,图 5:示例 HTML 页面

示例 HTML 页面

如何从 Java 应用程序动态生成 PDF 文件,图 6:HTML 示例

示例 HTML

从 HTML 文档示例中可以看出,该文档具有丰富的样式并包含图形。 该 HTML 文件将被转换为 PDF 文档,并将对内容和样式的准确性进行评估。

将使用上述示例中的同一行代码。

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

前面的例子已经包含了代码解释。 其他内容不变;

这是输出的 PDF 文件:

如何动态地从Java应用程序生成PDF文件,图7:HTML到PDF

HTML 转 PDF

使用 IronPDF 创建 PDF 文件非常简单。 源文件的格式和内容必须保持一致。

也可使用 URL 创建 PDF 文件。

将 URL 转换为 PDF 文档

以下代码示例将从 URL 生成 PDF 文件。

PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

renderUrlAsPdf 函数 接受一个 URL 作为参数并将其转换为 PDF 文档。 此 PDF 文档稍后通过 saveAs 函数保存到本地驱动器。

以下是输出的 PDF 文件:

如何动态生成 Java 应用程序的 PDF 文件,图 8:输出 PDF

输出 PDF

还可以添加水印、页眉、页脚、数字签名、转换 XML 文件/JSP 页面等。

下一步是生成受密码保护的 PDF。

生成受密码保护的 PDF 文件

以下示例代码演示了为生成的 PDF 文件添加安全性的示例。

PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDf.pdf"));
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456");
securityOptions.setUserPassword("123412");

try {
    myPdf.saveAs(Paths.get("myNewPDF.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDf.pdf"));
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456");
securityOptions.setUserPassword("123412");

try {
    myPdf.saveAs(Paths.get("myNewPDF.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

通过上述代码,PDF 文件为只读文件,不允许进行编辑或段落对齐。 文件还限制打印,确保无法打印。 还设置了密码。 文件现在非常安全。 通过这种方式,可以定义不同的文件权限,并使用 IronPDF 生成动态输出。

摘要

本教程演示了如何生成 PDF 文件。 根据 HTML 字符串、HTML 文件和 URL 创建 PDF 文件,示例从简单到复杂不等。 还有很多有用的功能,如添加水印、页脚、页眉、前景色、合并和拆分页面等。这里无法一一介绍; 访问 IronPDF 官方文档 以进行进一步探索。

通过 IronPDF,HTML 到 PDF 的转换变得轻而易举。 只需一行代码即可将 HTML 转换为 PDF。 PDF 文件中还添加了一些安全措施。它更快、更准确、更安全。 生成的每个 PDF 都包含 IronPDF 水印。 这是因为使用的是权限有限的免费开发版本,而不是商业许可证。 可以通过购买免费试用版或根据需要购买完整许可证来解决。

Darrius Serrant
全栈软件工程师(WebOps)

达瑞乌斯·塞兰特拥有迈阿密大学计算机科学学士学位,目前在Iron Software担任全栈WebOps营销工程师。从小对编码的热爱使他认为计算机既神秘又易接近,成为创意和解决问题的完美媒介。

在Iron Software,达瑞乌斯乐于创造新事物并简化复杂概念,使其更易于理解。作为我们在职开发者之一,他还自愿教授学生,将他的专业知识传授给下一代。

对达瑞乌斯而言,他的工作之所以令人满足,是因为它具有价值并产生了真正的影响。

< 前一页
如何在Java中编写PDF文件
下一步 >
Java PDF转换器(代码示例教程)