一、引言
在企业级开发、文档管理系统、在线预览等场景中,Word 文档转换为 HTML 是高频需求。HTML 具备跨平台、无需专用阅读器、可直接嵌入网页展示的优势,而 Java 生态中,Free Spire.Doc for Java 是一款免费、轻量的文档处理组件,可无侵入实现 Word(doc/docx)到 HTML 的格式转换。 本文将从环境配置、基础转换、高级定制等维度,全面讲解基于该库的 Word 转 HTML 技术实现。
二、依赖引入与适用场景
#2.1 配置方式
Maven 配置(推荐)
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>14.3.1</version>
</dependency>
</dependencies>
Gradle 配置
implementation 'e-iceblue:spire.doc.free:14.3.1@jar'
#2.2 适用场景
- 文档在线预览系统:将本地 Word 转为 HTML 直接在网页展示
- 内容迁移:Word 文案批量转为网页格式
- 轻量文档处理:无付费需求、仅需基础格式转换的小型业务场景
#2.3 支持格式
输入:.doc(Word 97-2003)、.docx(Word 2007+) 输出:标准 HTML 格式
三、Word 转 HTML 核心技术
#3.1 转换原理
该库会解析 Word 文档结构(段落、表格、图片、样式等),并映射为 HTML 标签 + CSS 样式,支持文本、表格、图片、超链接、页眉页脚等绝大多数常用元素。
#3.2 核心 API
Document:Word 文档的核心操作类,负责加载、保存文档FileFormat.Html:指定转换格式为 HTMLHtmlExportOptions:HTML 导出配置类(高级定制)
#3.3 基础转换代码
import com.spire.doc.*;public class WordToHtml {
public static void main(String[] args) {
// 1. 创建 Document 实例
Document doc = new Document();// 2. 加载 Word 文档 doc.loadFromFile("C:\\input\\sample.docx"); // 3. 保存为 HTML 文件 doc.saveToFile("C:\\output\\toHtml.html", FileFormat.Html); // 4. 释放资源 doc.dispose(); System.out.println("Word 转 HTML 基础转换完成!"); }
}
四、高级定制转换(HtmlExportOptions)
通过
HtmlExportOptions可以自定义 CSS 样式、图片存储、页眉页脚等核心配置。#4.1 核心配置项
- CSS 样式策略
Internal:CSS 内嵌到 HTML 文件(默认)External:CSS 生成独立.css文件- 图片存储策略
- 外部存储:图片生成
_images文件夹(默认)- Base64 嵌入:图片直接写入 HTML,单文件分发
- 页眉页脚:可选择是否导出(
hasHeadersFooters)#4.2 完整高级定制代码
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 依赖、轻量免费(需注意限制)- 基础转换:3 行核心代码(加载→保存→释放资源)
- 高级定制:支持 CSS、图片、页眉页脚个性化配置
- 生产使用:建议添加异常处理、资源释放,免费版注意段落限制
文章摘自:https://www.cnblogs.com/jazz-z/p/19985202
