.

Now ensure we keep all placeholders {{CODE_BLOCK_X}} exactly.

Also ensure we keep markdown tables formatting.

Now produce final content.# Java:使用 GroupDocs.Editor 将网页转换为 Word

网页转换为 Word 是在需要将在线内容转为可打印、可编辑文档时的常见需求。无论是营销页面、技术文章还是法律通知,将 HTML 转换为 DOCX 或 DOCM 都可以让您使用熟悉的 Office 工具进行编辑、共享和归档。在本指南中,我们将演示如何使用 GroupDocs.Editor for Java 读取 HTML 文件、检查其资源,并将结果保存为 HTML 和 Word 两种格式。

快速回答

  • 将网页转换为 Word 是什么意思? 它将 HTML 标记及其资源转换为可编辑的 Word(DOCX/DOCM)文件。
  • 哪个库负责转换? GroupDocs.Editor for Java。
  • 我需要许可证吗? 免费试用可用于测试;生产环境需要付费许可证。
  • 需要哪个 Java 版本? Java 8 或更高。
  • 可以保留 CSS 和图片吗? 可以——编辑器在转换过程中会保留链接的样式表和图片。

什么是“将网页转换为 Word”?

该过程读取页面的 HTML 源码,打包所有引用的 CSS 或图片,然后生成保留原始布局和样式的 Word 文档。这样即可在 Microsoft Word 或其他兼容编辑器中进行后续编辑。

为什么使用 GroupDocs.Editor for Java?

GroupDocs.Editor 提供了高级 API,抽象了 HTML 的底层解析、资源处理以及特定格式的细节。它经过实战检验,支持 DOCX/DOCM,并且跨平台运行,无需本地依赖。

前置条件

必需的库、版本和依赖

  • Apache Commons IO – 简化文件 I/O。
  • GroupDocs.Editor – 版本 25.3(或最新稳定版)。

环境搭建要求

  • 已安装 JDK 8 或更高版本。
  • 使用 IntelliJ IDEA 或 Eclipse 等 IDE。

知识前提

  • 基本的 Java 与 Maven 项目结构。
  • 熟悉 HTML 文件及其文件夹布局。

设置 GroupDocs.Editor for Java

Maven 设置

pom.xml 中添加 GroupDocs 仓库和依赖:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/editor/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-editor</artifactId>
        <version>25.3</version>
    </dependency>
</dependencies>

直接下载

或者,您可以从 GroupDocs.Editor for Java releases 下载最新版本。

获取许可证的步骤

  • 免费试用: 开始使用试用版以探索 API。
  • 临时许可证: 使用限时密钥进行延长评估。
  • 购买: 获取商业许可证用于生产部署。

实现指南

以下是逐步演示。每个代码块保持原教程不变,周围的说明已为清晰起见进行扩展。

功能 1 – 从文件读取 HTML 内容

为什么重要: 要转换网页,首先需要将原始 HTML 读取为 String。使用 Apache Commons IO 可以一行代码完成。

1.1 导入必需的库

import java.io.File;
import org.apache.commons.io.FileUtils;

1.2 指定文件路径

YOUR_DOCUMENT_DIRECTORY 替换为存放源 HTML 的文件夹。

String htmlFilePath = "YOUR_DOCUMENT_DIRECTORY/sample_html_body.html";

1.3 将内容读取为字符串

FileUtils.readFileToString 方法使用 UTF‑8 编码读取文件,保留所有字符。

String content = FileUtils.readFileToString(new File(htmlFilePath), "utf-8");
// Note: This method reads the HTML content as a UTF-8 encoded string, ensuring accurate representation of characters.

功能 2 – 从 HTML 内容初始化 EditableDocument

为什么重要: EditableDocument 是核心对象,将标记与其资源(CSS、图片)组合,使编辑器能够处理完整文档。

2.1 导入 GroupDocs 库

import com.groupdocs.editor.EditableDocument;

2.2 指定资源文件夹路径

该文件夹应包含 HTML 引用的所有 CSS 文件、图片或其他资源。

String resourceFolderPath = "YOUR_DOCUMENT_DIRECTORY/sample_html_body_resources";

2.3 初始化 EditableDocument

此调用将 HTML 标记与资源文件夹合并,创建内存中的可编辑文档。

EditableDocument inputDoc = EditableDocument.fromMarkupAndResourceFolder(content, resourceFolderPath);
// This method combines the HTML markup with its linked resources to form a complete editable document.

功能 3 – 检查文档资源

为什么重要: 了解样式表或图片的数量有助于决定是否需要额外处理(例如图片优化)。

3.1 统计样式表和图片数量

int stylesheetCount = inputDoc.getCss().size();
int imageCount = inputDoc.getImages().size();
// These methods provide insights into how many stylesheets or images are linked within your HTML content.

功能 4 – 将 EditableDocument 保存为 HTML

为什么重要: 有时您希望在编辑后保留 HTML 版本,或需要验证资源是否正确打包。

4.1 导入保存选项库

import com.groupdocs.editor.Editor;

4.2 指定 HTML 输出路径

String outputHtmlFilePath = "YOUR_OUTPUT_DIRECTORY/_output.html";

4.3 将文档保存为 HTML

save 方法将编辑后的文档写回磁盘,保留其结构。

inputDoc.save(outputHtmlFilePath);
// This saves all changes made in memory back into a new HTML document, maintaining its editable format and resources.

功能 5 – 将 EditableDocument 保存为 Word 处理文档(DOCX/DOCM)

为什么重要: 转换为 DOCX/DOCM 可获得可在 Microsoft Word、LibreOffice 或任何兼容编辑器中打开的完整可编辑 Word 文件。

5.1 导入保存选项库

import com.groupdocs.editor.options.WordProcessingSaveOptions;
import com.groupdocs.editor.formats.WordProcessingFormats;

5.2 指定 DOCX/DOCM 输出路径

String outputDocmFilePath = "YOUR_OUTPUT_DIRECTORY/_output.docm";

5.3 设置保存选项和格式

这里我们显式请求 DOCM 格式(宏启用的 Word 文档)。您也可以切换为 "docx" 以获得标准文档。

WordProcessingFormats saveFormat = WordProcessingFormats.fromExtension("docm");
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(saveFormat);
// Here, we define the desired output format (DOCM) along with any specific saving options needed for conversion.

5.4 将文档保存为 DOCM

我们使用 Editor 类执行最终转换。

Editor editor = new Editor(htmlFilePath);
editor.save(inputDoc, outputDocmFilePath, saveOptions);
// This final step converts and saves your HTML content into a fully functional Word document (DOCM).

实际应用

  • 动态报告生成: 从实时仪表盘提取表格,转换为 Word 并通过电子邮件发送自动报告。
  • 内容管理系统: 为文章提供“导出为 Word”按钮,保留样式和图片。
  • 法律文档准备: 将网页发布的法规转换为可编辑的合同或政策文档。
  • 教育材料汇编: 将 HTML 页面中的讲义汇总为单一学习指南。
  • 商务提案创建: 将营销网页转换为精美的 DOCM 提案供客户使用。

性能考虑

  • 优化内存使用: 对于大型 HTML 文件,增加 JVM 堆内存 (-Xmx2g) 或分块处理文档。
  • 异步加载资源: 在基于 Web 的工具中,使用后台线程加载 CSS 和图片,以保持 UI 响应。

常见问题与解决方案

IssueCauseFix
DOCM 中缺少图片资源文件夹路径不正确确认 resourceFolderPath 指向包含所有图片文件的文件夹。
转换后样式不同CSS 未加载确保 inputDoc.getCss() 返回预期的计数;将缺失的样式表添加到资源文件夹。
大型页面出现 OutOfMemoryErrorHTML 大且资源众多增加 JVM 堆内存或在转换前将 HTML 拆分为更小的部分。

常见问答

Q: 我可以直接转换实时 URL 而无需先保存 HTML 吗?
A: 是的。使用 JsoupHttpClient 下载页面内容,然后将字符串传入 EditableDocument.fromMarkupAndResourceFolder

Q: GroupDocs.Editor 是否同时支持转换为 DOCX 和 DOCM?
A: 当然。将 WordProcessingFormats.fromExtension("docx") 中的扩展名改为 docx 并相应调整输出文件名即可。

Q: 如果我的 HTML 引用了 CDN 上的外部 CSS,该怎么办?
A: 在初始化 EditableDocument 之前,将这些 CSS 文件下载到资源文件夹,或者在启用网络访问时让编辑器自行获取。

Q: 免费试用是否需要许可证?
A: 试用版无需许可证密钥,但受限于 30 天和最大文档大小。生产环境请购买许可证。

Q: 我能在 Word 输出中保留 JavaScript 功能吗?
A: 不能。Word 处理格式不支持客户端 JavaScript,只保留静态内容和样式。


最后更新: 2026-02-08
测试版本: GroupDocs.Editor 25.3
作者: GroupDocs