如何在Java中填写PDF表单(教程)

查克尼特·宾
查克尼特·宾
2023年二月14日
更新 2024年十月20日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

许多人可能希望逐个字段地填写PDF,但今天我们将重点介绍如何以编程方式填写PDF。 在应用程序的用户界面增强用户体验的情况下,可能会出现一个用例,但需要以电子格式创建PDF文件进行存档。

在整理所有用户输入的数据后,图书管理员必须以编程方式创建PDF表格。 填写好的文件要么保存以备将来使用,要么进行修改。 有多种用于 PDF 工作的 Java PDF 库,如 PDF Box、IText7、IronPDF 等。本文将介绍如何使用 IronPDF 填充交互式表单。

IronPDF 一个 Java 库

IronPDF 是一个 Java PDF 库,用于创建和编辑 PDF,可让开发人员在其 Java 应用程序中轻松创建、编辑和操作 PDF 文档。 该库与Java完全兼容,只需几行代码即可集成到任何基于Java的项目中。

IronPDF提供了广泛的功能,包括对文本和图像操作、文档安全以及数字签名功能的支持。 使用IronPDF,开发人员可以快速轻松地生成专业质量的PDF文档,使其成为任何基于Java的项目的强大工具。

使用IronPDF填写PDF表格

让我们看看如何使用Java PDF库以编程方式填写PDF表单。

在 Maven 项目中安装 IronPDF

通过 Maven 安装 IronPDF Java,请按照以下步骤进行:

  1. 在项目中打开 pom.xml 文件。

  2. >dependencies<标签内添加以下依赖项:

  3. 保存 pom.xml 文件并在项目目录中运行 "mvn install"。 这将在您的项目中安装IronPDF Java及其依赖项。 您可以从Sonatype中央存储库页面获取IronPDF的帮助

    现在您可以在Java代码中使用IronPDF。

使用Java代码以编程方式填充PDF文档

以下代码片段演示了如何使用IronPDF库通过HTML标记创建和填写PDF表单。代码从IronPDF库中导入必要的类,并使用Paths.get方法指定将保存生成的PDF表单的位置。

import com.ironsoftware.ironpdf.PdfDocument;  
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;  
import java.io.IOException;  
import java.nio.file.*;

public class App {
    public static main(String [] args) throws IOException {
        Path outputLocation = Paths.get("assets/BasicForm.pdf");  
        String formHTML = "<html>"  
            + "<body>"  
            + "<h2>Editable PDF  Form</h2>"  
            + "<form>"  
            + "First name: <br> <input type='text' name='firstname' value=''> <br>"  
            + "Last name: <br> <input type='text' name='lastname' value=''>"  
            + "</form>"  
            + "</body>"  
            + "</html>";  

        ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();  
        renderOptions.setCreatePdfFormsFromHtml(true);  
        PdfDocument.renderHtmlAsPdf(formHTML, renderOptions).saveAs(outputLocation);

        // #2 Use Case: Writing Values to the PDF Form  
        PdfDocument form = PdfDocument.fromFile(outputLocation);  

        // Set the value of the firstname input field.  
        form.getForm().setFieldValue("firstname", "Minnie");  

        // Set the value of the lastname input field.  
        form.getForm().setFieldValue("lastname", "Mouse");  

        // Save the changes to the PDF Form.  
        form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
    }
}
JAVA

第一段代码通过使用PdfDocument.renderHtmlAsPdf方法,将用HTML字符串标记的HTML表单转换为PDF表单。 ChromePdfRenderOptions对象用于将createPdfFormsFromHtml属性设置为true,这使得HTML标记中的表单可编辑。 生成的PDF随后使用saveAs方法保存到指定的输出位置。

第二部分代码演示了如何填写创建的PDF表格。 PdfDocument.fromFile 方法用于从指定的文件路径加载 PDF 表单。 然后使用getForm方法访问表单字段,并使用setFieldValue方法设置firstnamelastname输入字段的值。 最后,使用saveAs方法将更改保存到新文件。

输出

在第一段代码中,IronPDF 创建了一个带有两个表单字段的基本 PDF 文档。 这些表单字段是文本框。 文档的PDF规范允许在表单字段中输入。 下面是输出结果:

Java Fill Pdf Form Tutorial 1 related to 输出

对于第二个代码块,在每个文本框或文本字段中设置值,并在每个表单字段中填写数据。 这是填写好的PDF文档的截图:

Java Fill Pdf Form Tutorial 2 related to 输出

摘要

总之,IronPDF是一个可靠且高效的Java PDF文档处理库。 它能够以编程方式填写PDF表格,使其成为自动化文档处理任务的宝贵工具。

IronPDF 提供免费试用和适用于 IronPDF Java 的经济实惠的许可选项,起价为$749,使其成为企业和开发人员的经济选择。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。