您可以轻松地以编程方式编辑所有文字处理文档格式,例如 DOC、DOCX 或 DOTM。作为 Java 开发人员,您可以在 Java 应用程序中编辑 Word 文档。在本文中,您将学习如何使用 Java 编辑 Word 文档。
本文讨论/涵盖了以下主题:
用于编辑 Word 文档的 Java API
为了编辑 DOCX 文件,我将使用 GroupDocs.Editor for Java API。它允许您以编程方式编辑文字处理文档、Excel 工作表或其他受支持格式的文档。该 API 使您能够加载文档并将其转换为 HTML。它将 HTML 提供给外部 UI 进行编辑,然后在处理后将 HTML 保存到原始文档。
您可以下载 API 的 JAR 或在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置来尝试下面提到的代码示例。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-editor</artifactId>
<version>20.11.0</version>
</dependency>
使用 Java 编辑 Word 文档
您可以按照以下提到的简单步骤以编程方式轻松编辑 Word 文档:
- 定义 WordProcessingLoadOptions
- 创建 Editor 类的实例
- 指定输入 DOCX 文件的路径
- 定义WordProcessingEditOptions
- 调用edit()方法,获取EditableDocument对象
- 从 EditableDocument 中获取文档内容和相关资源
- 调用 getEmbeddedHtml() 方法将文档获取为单个 base64 编码的字符串
- 通过调用 replace() 方法更新内容
- 调用 fromMarkup() 方法并创建一个新的 EditableDocument 实例
- 定义 WordProcessingSaveOptions
- 调用 save() 方法并保存更新的文件
- 处理对象
以下代码示例展示了如何使用 Java 编辑 DOCX 文件。
//输入文件
String inputFilePath = "C:\\Files\\Sample.docx";
//使用加载选项加载文档
WordProcessingLoadOptions wordLoadOptions = new WordProcessingLoadOptions();
wordLoadOptions.setPassword("some password"); // Password if required
Editor editor = new Editor(inputFilePath, wordLoadOptions);
// 指定编辑选项
WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
editOptions.setEnableLanguageInformation(true);
editOptions.setEnablePagination(true);
//打开要编辑的输入文档
EditableDocument beforeEdit = editor.edit(editOptions);
//从可编辑文档中获取文档内容和相关资源
String content = beforeEdit.getContent();
List<IImageResource> images = beforeEdit.getImages();
List<FontResourceBase> fonts = beforeEdit.getFonts();
List<CssText> stylesheets = beforeEdit.getCss();
//将文档作为单个 base64 编码字符串获取,其中所有资源(图像、字体等)与主要文本内容一起嵌入到此字符串中
String allEmbeddedInsideString = beforeEdit.getEmbeddedHtml();
//编辑内容
String allEmbeddedInsideStringEdited = allEmbeddedInsideString.replace("Subtitle", "Edited subtitle");
//从编辑的内容和资源创建一个新的 EditableDocument 实例
EditableDocument afterEdit = EditableDocument.fromMarkup(allEmbeddedInsideStringEdited, null);
//输出文档路径
String outputPath = "C:\\Files\\Sample_output.docx";
//保存选项
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
//最后,保存到路径
editor.save(afterEdit, outputPath, saveOptions);
//处置对象
beforeEdit.dispose();
afterEdit.dispose();
editor.dispose();
WordprocessingLoadOptions 类提供了将 Word 文档(如 DOC、DOCX、RTF、ODT 等)加载到 Editor 类的各种选项。
- setPassword 方法允许指定打开受密码保护的文档的密码。
Editor 类是提供加载、编辑和保存所有可支持格式的文档的方法的主要类。
WordProcesingEditOptions 类使您能够指定用于打开要编辑的字处理文档的自定义选项。
- setEnabledLanguageInformation 方法指定语言信息是否以“lang”HTML 属性的形式导出到 HTML 标记。
- setEnablePagination 方法允许在生成的 HTML 文档中启用或禁用分页。
EditableDocument 类在内部存储文档并提供生成 HTML 标记和生成资源的方法。
WordProcessingSaveOptions 类提供了用于在编辑后生成和保存 Word 文档的自定义选项。
获得免费许可证
您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 Java 编辑 Word 文档。您可以使用 文档 了解有关 Java API 的 GroupDocs.Editor 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。