跳至页脚内容
在 JAVA 中使用 IRONPDF

如何在 Java 中从模板创建 PDF

IronPDF for Java 的一个重要功能是其能够处理 PDF 模板。 PDF 模板是一种预设计的 PDF 文件,其中包含供动态内容使用的占位符。 利用 IronPDF,您可以轻松地将这些占位符替换为实际数据,以生成定制化的新 PDF 文档。

class="hsg-featured-snippet">

如何在 Java 中从模板创建 PDF 文档

  1. 下载 IronPDF for Java 以从模板生成 PDF
  2. 创建一个新的 PDF 模板或使用 PdfDocument.fromFile 方法加载现有的模板。
  3. 编写包含模板输入的字符串列表。
  4. 使用 PdfDoc.replaceText 方法替换模板中的特定文本。
  5. 使用 SaveAs 方法保存新创建的 PDF 文件。

IronPDF。

IronPDF is a Java library that is developed and maintained by Iron Software 开发和维护的一种 Java 库。 它提供了一个易于使用的接口,可以抽象掉 PDF 生成的许多复杂性,使开发人员能够专注于 PDF 的内容,而不是文件生成的细节。 IronPDF also provides a range of features that make it easy to work with PDF templates, fillable forms, and digital signatures.

本教程将引导您完成使用 IronPDF 在 Java 中从模板创建 PDF 文件的步骤。

第一步是创建一个项目。

步骤 1:创建一个新的 Java 项目

以下是使用 IntelliJ IDEA 创建新 Java 项目的步骤:

  1. 打开 IntelliJ IDEA,从欢迎屏幕或“文件”菜单中选择“创建新项目”。
  2. 从左侧菜单中选择“Java”,并选择要用于项目的 JDK 版本。 点击“下一步”。
  3. 选择项目名称和项目位置,并选择项目类型。 您可以从多种不同的项目类型中进行选择,例如“Java 应用程序”、“Java 库”或“JavaFX 应用程序”。 点击“下一步”。
  4. 配置项目设置。 您可以指定项目 SDK、项目语言级别和其他设置。您还可以选择创建一个模块或选择一个现有的模块。 5. 选择项目模板。 点击“下一步”。 您可以选择创建一个空白项目、一个包含示例代码的项目或导入一个现有项目。 点击“完成”。 如何在 Java 中从模板创建 PDF,第 1 图:使用 IntelliJ IDEA 创建新的 Java 项目

使用 IntelliJ IDEA 创建新的 Java 项目

步骤 2:将 IronPDF 库添加到您的项目中

第二步是通过 XML 文件将 IronPDF 库添加到您的 Java 项目中。您可以将以下依赖项添加到项目的 pom.xml 文件中来完成此操作:

步骤 3:创建 PDF 模板

<!-- Add this dependency to use IronPDF in your Java project -->
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> <!-- Specify the version number -->
</dependency>
<!-- Add this dependency to use IronPDF in your Java project -->
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> <!-- Specify the version number -->
</dependency>
XML

接下来,您需要创建将用于生成 PDF 文件的 PDF 模板。您可以使用任何 PDF 编辑器创建您的 PDF 模板。

模板可以包括在运行时将被动态数据替换的占位符。 假设有这样一个用例,其中发放的证书数量有 50 个学生。

现在,创建每个用户的单独证书是一项非常繁琐的任务。 因此,使用模板程序并根据下面的演示程序仅更改一个名字。 如何在 Java 中从模板创建 PDF,第 2 图:证书模板图像实例

证书模板图像实例

步骤 4:从模板创建 PDF 文档

创建 PDF 模板证书后,第一步是将其加载到 Java 应用程序中。

IronPDF PdfDocument 类用于将 PDF 模板加载到内存中。 以下是一个代码片段示例,展示了如何使用 IronPDF 加载 PDF 模板: 现在,让我们编写一个代码示例,该示例将根据给定模板创建 5 个证书。

// Load the PDF template into memory using IronPDF
PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));
// Load the PDF template into memory using IronPDF
PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));
JAVA

以下是输出日志:

import com.ironsoftware.ironpdf.PageSelection;
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class CertificateGenerator {
    public static void main(String[] args) throws IOException {
        // Array of student names
        String[] studentNames = {"Georgia Wade", "Juliet Dave", "Olive Seth", "Miles Jorg", "Oscar Den"};

        // Iterate through each student's name
        for (String name : studentNames) {
            // Load the PDF template
            PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));

            // Replace the placeholder text with the student's name
            pdfDoc.replaceText(PageSelection.firstPage(), "Recipient Name", name);

            // Save the new PDF with the student's name as the file name
            pdfDoc.saveAs(Paths.get("Certificate/" + name + ".pdf"));
        }
    }
}
import com.ironsoftware.ironpdf.PageSelection;
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class CertificateGenerator {
    public static void main(String[] args) throws IOException {
        // Array of student names
        String[] studentNames = {"Georgia Wade", "Juliet Dave", "Olive Seth", "Miles Jorg", "Oscar Den"};

        // Iterate through each student's name
        for (String name : studentNames) {
            // Load the PDF template
            PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));

            // Replace the placeholder text with the student's name
            pdfDoc.replaceText(PageSelection.firstPage(), "Recipient Name", name);

            // Save the new PDF with the student's name as the file name
            pdfDoc.saveAs(Paths.get("Certificate/" + name + ".pdf"));
        }
    }
}
JAVA

如何在 Java 中从模板创建 PDF,第 3 图:输出

上面的代码创建了一个学生姓名数组,然后使用 IronPDF 库将预先存在的 PDF 模板中的占位符文本替换为每个学生的名称,然后将该 PDF 的新副本用学生的名称保存为文件名。 输出

代码的工作方式如下:

  1. 定义并初始化一个 studentNames 数组,其中包含五个学生姓名。

  2. for 循环遍历 studentNames 数组中的每个名称。
  3. PdfDocument.fromFile) 方法将名为"CERTIFICATE.pdf" 的 PDF 模板文件加载到 PdfDocument 对象中。
  4. 使用 PdfDocument.replaceText 方法替换 PDF 模板中"收件人姓名"的文本为当前学生的姓名。
  5. 使用 PdfDocument.saveAs) 方法,将修改后的 PDF 文件以学生姓名为文件名保存在“Certificate”目录中。
  6. 循环继续,直到所有学生姓名都被处理完毕。 通过这种方式,可以生成多个证书,每个证书都有一个唯一的学生姓名,基于一个单一的 PDF 模板。

同样的方法也可用于根据任何模板生成 PDF 文档。 ### 生成的 PDF 文件

如何在 Java 中从模板创建 PDF,第 4 图:PDF 输出

PDF 输出

证书输出文件

以下是此演示程序生成的证书。

如何在 Java 中从模板创建 PDF,第 5 图:证书输出

证书输出

步骤 5:从 HTML 模板创建 PDF 模板

在此示例中,将使用 HTML 文件创建 PDF 模板,然后使用该模板生成 PDF 文档。

这是用于演示示例的 HTML 文件。

如何在 Java 中从模板创建 PDF,第 6 图:HTML 输出

HTML 输出 考虑以下代码示例,以创建一个新文档从给定的 HTML 格式。

上面的代码读取 HTML 文件的内容,用动态数据替换 HTML 文件中的占位符,使用 IronPDF 库将 HTML 渲染为 PDF 文档,并将生成的 PDF 文档保存在特定目录中。

import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Path to the HTML template
        Path fileName = Path.of("D:\\index.html");

        // Dynamic data to replace placeholders in the template
        String userName = "Mike";
        String title = "Sample PDF File";
        String body = "This is the body of our template PDF";

        // Read the HTML file content as a string
        String htmlStr = Files.readString(fileName);

        // Replace placeholders with actual data
        htmlStr = htmlStr.replace("{UserName}", userName);
        htmlStr = htmlStr.replace("{Title}", title);
        htmlStr = htmlStr.replace("{message}", body);

        // Render the HTML as a PDF document using IronPDF
        PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlStr);

        // Save the generated PDF document in the specified directory
        pdfDoc.saveAs(Paths.get("htmlTemplate/" + userName + ".pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Path to the HTML template
        Path fileName = Path.of("D:\\index.html");

        // Dynamic data to replace placeholders in the template
        String userName = "Mike";
        String title = "Sample PDF File";
        String body = "This is the body of our template PDF";

        // Read the HTML file content as a string
        String htmlStr = Files.readString(fileName);

        // Replace placeholders with actual data
        htmlStr = htmlStr.replace("{UserName}", userName);
        htmlStr = htmlStr.replace("{Title}", title);
        htmlStr = htmlStr.replace("{message}", body);

        // Render the HTML as a PDF document using IronPDF
        PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlStr);

        // Save the generated PDF document in the specified directory
        pdfDoc.saveAs(Paths.get("htmlTemplate/" + userName + ".pdf"));
    }
}
JAVA

以下是代码执行的逐步解释:

  1. 代码开始时创建一个指向本地文件系统上的 HTML 文件的 Path 对象。

在这个例子中,文件位于 "D:\index.html"。 2. 声明并初始化三个变量,包含一些示例数据:userName、title 和 body。

  1. 使用 Files.readString 方法将 HTML 文件的内容读入一个名为 htmlStr 的字符串变量中。
  2. 使用 String.replace 方法替换 HTML 文件中的三个占位符({UserName}{Title}{message})为相应的动态数据。
  3. 调用 PdfDocument.renderHtmlAsPdf 方法,将修改后的 HTML 字符串作为参数传入,以将 HTML 渲染为 PDF 文档。 生成的 PDF 文档存储在名为 pdfDocPdfDocument 对象中。 6. 调用 pdfDoc.saveAs 方法,将生成的 PDF 文档保存到本地文件系统中名为 "htmlTemplate" 的目录中,文件名由变量 userName 构成。 如何在 Java 中从模板创建 PDF,第 7 图:输出

通过这种方式,可以方便地从 HTML 模板程序化地生成 PDF 文件输出

可以获取 商业许可证来替换此水印。

It is possible to replace this watermark by getting a free trial or purchasing a commercial license.

结论

IronPDF 提供了一个简单而强大的接口,让您可以轻松地创建和操控 PDF 文件。 利用 IronPDF,您可以轻松创建专业的 PDF 文档,可用于各种目的,如生成报告、发票和其他类型的文档。 IronPDF 还具有高度的自定义化选项,能够控制 PDF 文件的外观和布局。

开发人员可以指定页面边距、字体大小、颜色和其他属性,以创建符合其特定需求的 PDF 文件。 总之,IronPDF 是一个功能强大且灵活的 Java 中 PDF 生成库。

凭借其易于使用的接口和丰富的功能,IronPDF 是任何需要 PDF 生成的应用程序的绝佳选择。 下载 IronPDF for Java,这个软件产品

Download IronPDF for Java, the software product.

常见问题解答

如何在 Java 中从模板生成 PDF?

要在 Java 中使用 IronPDF 从模板生成 PDF,请使用 PdfDocument.fromFile 加载模板,使用 PdfDoc.replaceText 替换占位符,并使用 SaveAs 方法保存文档。

在 IntelliJ IDEA 中将 PDF 库添加到 Java 项目的步骤是什么?

要在 IntelliJ IDEA 中将 IronPDF 添加到 Java 项目中,请在 pom.xml 文件中包含其 Maven 依赖项,指定库的 groupId、artifactId 和版本。

我能用 HTML 模板在 Java 中创建 PDF 吗?

可以,IronPDF 允许您从 HTML 模板创建 PDF。您可以读取 HTML 文件,使用动态数据替换占位符,并将其呈现为 PDF 文档。

如何使用 IronPDF 替换 PDF 模板中的占位符?

使用 PdfDocument.replaceText 方法替换 PDF 模板中的占位符。您需要指定要替换的文本以及 PDF 文档的新内容。

使用模板生成 PDF 的一些常见用例是什么?

使用模板生成 PDF 的常见用例包括生成证书、创建发票和生成需要一致格式和动态内容插入的报告。

如何在 IntelliJ IDEA 中为 PDF 生成任务创建新的 Java 项目?

在 IntelliJ IDEA 中,首先选择“创建新项目”,选择“Java”,设置 JDK 版本并配置项目设置。然后,您可以将 IronPDF 添加到项目的依赖项中。

IronPDF 为 Java 中的 PDF 创建提供了哪些好处?

IronPDF 通过提供直观的界面、支持模板处理以及提供可填写的表单和数字签名功能,简化了 Java 中的 PDF 创建。

使用 IronPDF 生成的 PDF 布局是否可以自定义?

可以,IronPDF 允许自定义 PDF 布局,包括调整页面边距、字体大小、颜色和其他视觉元素以满足特定设计要求。

哪些类型的项目适合使用 IronPDF?

需要生成专业 PDF 的项目,如报告、发票和证书,受益于 IronPDF 的灵活性和强大功能。

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

Darrius Serrant 拥有迈阿密大学的计算机科学学士学位,目前在 Iron Software 担任全栈 WebOps 市场工程师。从小就被编码吸引,他认为计算机既神秘又易于接触,使其成为创意和问题解决的理想媒介。

在 Iron Software,Darrius 喜欢创造新事物,并简化复杂概念以使其更易理解。作为我们常驻的开发者之一,他还自愿教授学生,与下一代分享他的专业知识。

对于 Darrius 来说,他的工作令人满意,因为它被重视并产生真正的影响。