Word 的自动化使您能够创建新的 Word 文档、编辑或修改现有的文档,或者将它们转换为其他格式,而无需使用 Microsoft Office。我们可以通过 MS Word 的用户界面执行的所有操作也可以使用自动化以编程方式执行。在本文中,我们将学习如何自动化 MS Word 以使用 Java 创建、编辑或转换 Word 文档。
本文将涵盖以下主题:
- 用于创建、编辑或转换 Word 文档的 Java Word 自动化 API
- 使用 Java 创建 Word 文档
- 使用 Java 编辑或修改 Word 文档
- 使用 Java 查找和替换 Word 文档中的文本
- 使用 Java 转换 Word 文档
- 使用 Java 解析 Word 文档
用于创建、编辑或转换 Word 文档的 Java Word 自动化 API
对于自动化 Word,我们将使用 Aspose.Words for Java API。它是一个完整且功能丰富的 Word 自动化解决方案,用于以编程方式创建、编辑或分析 Word 文档。请下载 API 的 JAR 或在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.11</version>
<type>pom</type>
</dependency>
使用 Java 创建 Word 文档
我们可以按照以下步骤以编程方式创建 Word 文档:
- 首先,创建一个 Document 类的实例。此类表示一个 Word 文档。
- 接下来,使用 Document 对象作为参数创建 DocumentBuilder 类的实例。此类提供插入文本、图像和其他内容、指定字体、段落和节格式的方法。
- 然后,使用 DocumentBuilder 对象插入/写入元素以添加一些文本、段落、表格或图像。
- 最后,使用输出文件路径调用Document.save()方法来保存创建的文件。
以下代码示例展示了如何使用 Java 创建 Word 文档 (DOCX)。
// 打开文档。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// 为下一个元素设置字体
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
// 插入文本
builder.writeln("Welcome!");
// 为下一个元素设置字体
font.setSize(12);
font.setBold(false);
// 插入段落
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
+ "\r\n"
+ "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
+ "\r\n"
+ "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();
font.setBold(true);
builder.writeln("This is a sample table");
font.setBold(false);
// 插入表格
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is row 1 cell 1");
builder.insertCell();
builder.write("This is row 1 cell 2");
builder.endRow();
builder.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();
// 插入图像
builder.insertImage("C:\\Files\\Words\\words_java.jpg");
// 插入分页符
builder.insertBreak(BreakType.PAGE_BREAK);
// 分页符后的所有元素都将插入到下一页。
// 保存文档
doc.save("C:\\Files\\Words\\document.docx");
使用 Java 编辑或修改 Word 文档
在上一节中,我们创建了一个 Word 文档。现在,让我们编辑它并更改文档的内容。我们可以按照以下步骤以编程方式编辑 Word 文档:
- 首先,使用 Document 类以输入文件路径作为参数加载 Word 文档。
- 接下来,通过索引访问特定部分。
- 然后,将第一段内容作为 Run 类的对象访问。 Run 类表示具有相同字体格式的一系列字符。文档的所有文本都存储在文本运行中。
- 之后,为访问的段落设置要更新的文本。
- 最后,使用输出文件路径调用Document.save()方法,保存更新后的文件。
以下代码示例展示了如何使用 Java 编辑 Word 文档 (DOCX)。
// 加载文档
Document doc = new Document("C:\\Files\\Words\\document.docx");
// 访问段落
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");
// 保存文档
doc.save("C:\\Files\\Words\\Document_updated.docx");
使用 Java 查找和替换 Word 文档中的文本
我们还可以使用 API 的查找和替换机制来更新 Word 文档的内容。我们可以按照以下步骤以编程方式执行此操作:
- 首先,使用 Document 类以输入文件路径作为参数加载 Word 文档。
- 接下来,创建 FindReplaceOptions 类的实例。
- 然后,使用搜索字符串、替换字符串和 FindReplaceOptions 对象作为参数调用 replace() 方法。此方法应使用替换字符串替换每次出现的搜索字符串。
- 最后,使用输出文件路径调用Document.save()方法,保存更新后的文件。
以下代码示例展示了如何使用 Java 查找和替换 Word 文档 (DOCX) 中的特定文本。
// 加载文档
Document doc = new Document("C:\\Files\\Words\\document.docx");
// 使用查找和替换进行更新
// 使用 Replace 方法指定搜索字符串和替换字符串。
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());
// 保存文档
doc.save("C:\\Files\\Words\\Document_updated.docx");
使用 Java 转换 Word 文档
我们可以按照以下步骤以编程方式将 Word 文档转换为其他格式,例如 PDF、XPS、EPUB、HTML、JPG、PNG 等:
- 首先,使用 Document 类以输入文件路径作为参数加载 Word 文档。
- 接下来,使用 Document 对象作为参数创建 PdfSaveOptions 类的实例。将文档保存到 PDF 时,此类提供附加选项。
- 然后,通过将 PdfSaveOptions.Compliance 设置为 PdfCompliance.PDF17 来指定输出文档的 PDF 标准合规级别。
- 最后,使用输出文件路径和 PdfSaveOptions 对象作为参数调用 Document.save() 方法来保存 PDF 文件。
以下代码示例展示了如何使用 Java 将 Word 文档 (DOCX) 转换为 PDF。
// 加载文档
Document doc = new Document("C:\\Files\\Words\\document.docx");
// 为 PDF17 提供 PDFSaveOption 合规性
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);
// 将 Word 转换为 PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
使用 Java 解析 Word 文档
我们可以按照以下步骤以编程方式解析 Word 文档并将内容提取为纯文本:
- 使用 Document 类以输入文件路径作为参数加载 Word 文档。
- 调用 Document.save() 方法将 Word 文档保存为文本文件。此方法将输出文件的路径作为参数。
以下代码示例展示了如何使用 Java 解析 Word 文档 (DOCX)。
// 从磁盘加载文档。
Document doc = new Document("C:\\Files\\Words\\document.docx");
// 另存为纯文本
doc.save("C:\\Files\\Words\\output.txt");
获得免费许可证
请通过请求 免费的临时许可证 来尝试不受评估限制的 API。
结论
在本文中,我们学习了如何使用 Java 自动化 Word 来创建、编辑或转换 Word 文档。我们还了解了如何以编程方式查找和替换 Word 文档中的文本。此外,您可以使用 documentation 了解有关 Aspose.Words for Java API 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。