在企业级开发、文档管理系统、在线预览等场景中,Word 文档转换为 HTML 是高频需求。HTML 具备跨平台、无需专用阅读器、可直接嵌入网页展示的优势,而 Java 生态中,Free Spire.Doc for Java 是一款免费、轻量的文档处理组件,可无侵入实现 Word(doc/docx)到 HTML 的格式转换。 本文将从环境配置、基础转换、高级定制等维度,全面讲解基于该库的 Word 转 HTML 技术实现。

2.1 配置方式
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url></url>
</repository>
</repositories>
<dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.doc.free</artifactId><version>14.3.1</version></dependency></dependencies>
implementation 'e-iceblue:spire.doc.free:14.3.1@jar'
2.2 适用场景
2.3 支持格式
输入:.doc(Word 97-2003)、.docx(Word 2007+) 输出:标准 HTML 格式
该库会解析 Word 文档结构(段落、表格、图片、样式等),并映射为 HTML 标签 + CSS 样式,支持文本、表格、图片、超链接、页眉页脚等绝大多数常用元素。
Document:Word 文档的核心操作类,负责加载、保存文档FileFormat.Html:指定转换格式为 HTMLHtmlExportOptions:HTML 导出配置类(高级定制)import com.spire.doc.*;
public class WordToHtml {public static void main(String[] args) {// 1. 创建 Document 实例Document doc = new Document();
// 2. 加载 Word 文档doc.loadFromFile("C:inputsample.docx");
// 3. 保存为 HTML 文件doc.saveToFile("C:outputtoHtml.html", FileFormat.Html);
// 4. 释放资源doc.dispose();
System.out.println("Word 转 HTML 基础转换完成!");}}
通过 HtmlExportOptions 可以自定义 CSS 样式、图片存储、页眉页脚等核心配置。
4.1 核心配置项
CSS 样式策略
Internal:CSS 内嵌到 HTML 文件(默认)External:CSS 生成独立 .css 文件图片存储策略
_images 文件夹(默认)页眉页脚:可选择是否导出(hasHeadersFooters)
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.html.HtmlExportOptions;
import com.spire.doc.documents.html.CssStyleSheetType;
public class WordToHtmlAdvanced {public static void main(String[] args) {Document doc = null;try {doc = new Document();doc.loadFromFile("sample.docx");
// ===================== 高级配置 =====================HtmlExportOptions options = doc.getHtmlExportOptions();
// 1. CSS配置:内嵌样式options.setCssStyleSheetType(CssStyleSheetType.Internal);
// 2. 图片配置:Base64嵌入HTML(单文件无需依赖图片文件夹)options.setImageEmbedded(true);
// 3. 禁用页眉页脚(仅导出正文)options.hasHeadersFooters(false);
// 执行转换doc.saveToFile("advanced_output.html", FileFormat.Html);System.out.println("高级定制转换完成!");
} catch (Exception e) {e.printStackTrace();} finally {if (doc != null) {doc.dispose();}}}}
总结
Free Spire.Doc for Java,无 Office 依赖、轻量免费(需注意限制)