使用 Java 从 Word 文档创建和获取表单域

Java 是一种非常流行的计算机语言,用于自动创建和操作 Microsoft Word 文档(DOCDOCX)。作为 Java 程序员,您可以使用各种 Java 库编写代码以编程方式生成、更改和保存 Word 文档。当您执行报告、创建发票或处理大量数据等操作时,这可以节省时间和精力。此外,由于其平台独立性,Java 是跨各种操作系统自动化文档的可行替代方案。在本文中,我们将解释如何使用 Java 从 Word 文档创建和获取表单域

本文将涵盖以下几点:

Java Word 自动化库 - 安装

我们将使用 Conholdate.Total for Java 来自动化 MS Word 文档。这个Java Word 自动化库的安装过程非常简单。 Maven 用户只需在项目的 pom.xml 文件中包含以下配置即可。

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.2</version>
	<type>pom</type>
</dependency>

然后执行以下命令。

mvn clean    
mvn install -U

要设置其他 Java 框架,请访问 releases.conholdate.com

Java Word 自动化:在 Word 文档中创建表单域

表单是具有填充空白(字段)的文档。使用 Microsoft Word,您可以设计一个带有下拉列表的注册表单,用户可以从中选择条目。表单字段用于保存特定类型的数据,例如姓名或地址。文本输入、组合框和复选框是 Microsoft Word 中表单域的示例。在以下小节中,我们将解释如何使用 Java 自动创建 Word 文档以创建表单域

使用 Java 在 Word 文档中创建输入文本字段

在本小节中,您将学习如何使用 Java 在 Word 文档 (DOC/DOCX) 中创建输入文本字段。请按照以下步骤操作:

  1. 首先,创建一个Document类的对象。
  2. 然后,创建一个DocumentBuilder类的对象并用Document对象初始化它。
  3. 之后,使用 DocumentBuilder.insertTextInput 方法添加一个文本输入字段。
  4. 最后,保存文档。

以下代码示例演示了如何使用 Java 在 Word 文档中插入输入文本字段。

// Create document
Document doc = new Document();
// Initiallize document builder
DocumentBuilder builder = new DocumentBuilder(doc);
// Add text input
builder.insertTextInput("TextInput", TextFormFieldType.REGULAR, "", "Enter your name here", 30);
// Save the resultant docx
doc.save("output.docx");
生成的 Word 文档将显示创建的文本输入字段,如下图所示。
使用 Java 在 Word 文档中创建输入文本字段

使用 Java 在 Word 文档中添加下拉菜单

本小节将解释如何使用 Java 在 Word 文档 (DOC/DOCX) 中创建下拉菜单。

步骤如下:

  1. 首先初始化Document类的对象。
  2. 其次,实例化DocumentBuilder对象类的一个对象。
  3. 第三,使用 DocumentBuilder.insertComboBox 方法插入一个下拉字段。
  4. 最后,保存文档。

以下代码示例演示了如何使用 Java 在 Word 文档中插入下拉列表。

// Create document
Document doc = new Document();
// Initiallize document builder
DocumentBuilder builder = new DocumentBuilder(doc);
// Add drop down
String[] items = { "– Select your favorite footwear –", "Sneakers", "Oxfords", "Flip-flops", "Other" };
builder.insertComboBox("DropDown", items, 0);
// Save the resultant docx
doc.save("output.docx");
输出将显示在以下屏幕截图中。
使用 Java 在 Word 文档中创建下拉字段

使用 Java 在 Word 文档中插入复选框

在这里,您将学习如何使用 Java 在 MS Word 文档中插入复选框。

请按照以下步骤编写代码:

  1. 首先,创建Document类的对象。
  2. 然后,创建一个DocumentBuilder对象并用Document对象初始化它。
  3. 之后,使用 DocumentBuilder.insertCheckBox 方法创建一个复选框字段。
  4. 最后,保存文档。

以下代码示例演示了如何使用 Java 在 Word 文档中创建复选框。

// Create document
Document doc = new Document();
// Initiallize document builder
DocumentBuilder builder = new DocumentBuilder(doc);
// Add check box
builder.insertCheckBox("CheckBox", true, true, 0);
// Save the resultant docx
doc.save("output.docx");

使用 Java Word 自动化库从 Word 文档中获取表单字段

到目前为止,您已经学习了如何使用 Java 在 Word 文档中添加不同的表单域。在本节中,我们将解释如何使用 Java 获取 Word 文件的表单域

假设我们有一个包含 4 个表单域的文件。下面我们来学习如何获取字段集合,以及如何通过名称或索引获取字段。请按照下面给出的分步指南进行操作:

  1. 首先,使用Document类加载Word文档。
Document doc = new Document("FormFields.doc");
  1. 获取可以使用Range.getFormFields方法检索的FormFieldCollection类的对象。
FormFieldCollection formFields = doc.getRange().getFormFields();
  1. 要通过索引获取特定字段,您可以使用 FormFieldCollectionget(int index) 方法检索 FormField 类的对象。
FormField formField1 = documentFormFields.get(3);
  1. 同样,您可以使用FormFieldCollection的重载get(string name)方法通过名称获取FormField类的对象。
FormField formField2 = documentFormFields.get("Text2");

以下代码示例总结了上述所有步骤。

// Create document
Document doc = new Document();
// Get the form fields
FormFieldCollection formFields = doc.getRange().getFormFields();
// Obtain form field by index
FormField formField1 = documentFormFields.get(3);
// Get the form field by name
FormField formField2 = documentFormFields.get("Text2");
// Print the name of form field
System.out.println("Name: " + formField2.getName());

获得免费许可证

您可以下载 免费临时许可证 来测试没有评估限制的 API。

加起来

在本文中,我们解释了如何使用 Java 在 MS Word 文档中获取和创建表单域。我们已经讨论了在 DOC/DOCX 文件中添加文本输入、下拉和复选框字段的步骤。最后,我们讨论了从 Word 文档中获取表单域的步骤。

要了解有关 Java Word 自动化库 的更多信息,您可以访问 文档

最后,请继续访问 conholdate.com 以获取定期更新。

问一个问题

请随时在我们的论坛 中发表您的问题或意见。

也可以看看