将 HTML 内容转换为 Word 文档,对于内容共享、归档以及保持格式一致性都非常重要。它不仅便于后续编辑,还能很好地与其他工具配合使用,满足行业标准。此外,Word 文档支持离线访问,版式专业,非常适合正式提交使用。总体来说,这种转换方式提升了文档的可访问性,也让内容管理更加简单高效。 本文将介绍如何使用 Spire.Doc for Java 在 Java 中将 HTML 文件或 HTML 字符串转换为 Word 文档。
为什么选择 Spire.Doc 来实现 HTML 转 Word?
Spire.Doc for Java 提供了稳定高效的 HTML 转 Word 功能,是一款无需依赖 Microsoft Office 的独立第三方组件。 它支持将 HTML 文件或字符串直接转换为 Word 文档,并尽可能保留原始样式和布局,广泛应用于报告生成、系统导出、内容归档等自动化场景。除此之外,Spire.Doc 还提供丰富的 Word 文档操作功能,配合简洁直观的 API 设计,能够帮助开发者高效构建企业级文档处理流程。
要使用该工具,你需要先在 Java 项目中引入 Spire.Doc.jar 文件作为依赖项。你可以点击此处下载 JAR 文件;如果你使用 Maven,只需在 pom.xml 文件中添加以下配置即可完成导入。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>13.5.3</version>
</dependency>
</dependencies>
用 Java 三步完成 HTML 文件到 Word 的转换
要将 HTML 文件转换为 Word 文档,核心在于使用 Document 类。该类提供了导入 HTML 内容并导出为 DOC 或 DOCX 等格式的方法。借助 Spire.Doc,你只需简单三步,就可以轻松实现 HTML 到 Word 的自动化转换。
使用 Java 将 HTML 文件转换为 Word 的步骤如下:
- 创建一个新的 Document 对象 ;
- 使用 Document.loadFromFile() 方法加载 HTML 文件内容 ;
- 使用 Document.saveToFile() 方法将内容保存为 Word 文件(如 .docx)。
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.XHTMLValidationType;
public class ConvertHtmlFileToWord {
public static void main(String[] args) {
// 创建一个 Document 类的对象
Document document = new Document();
// 加载 HTML 文件
document.loadFromFile("E:/Administrator/Python1/input/项目进度.html", FileFormat.Html, XHTMLValidationType.None);
// 获取第一节
Section section = document.getSections().get(0);
// 设置页边距
section.getPageSetup().getMargins().setAll(2);
// 将文档保存为 Word 文件
document.saveToFile("E:/Administrator/Python1/output/HTML文件转Word.docx",FileFormat.Docx);
document.dispose();
}
}
在 Java 中快速转换 HTML 字符串为 Word
在某些场景下,你可能需要在运行时动态生成或修改 HTML 内容,例如从用户输入、数据库查询结果,或模板引擎中构建 HTML 字符串。相比转换静态 HTML 文件,Spire.Doc for Java 提供了更灵活的方式,可以通过 Paragraph.appendHTML() 方法将 HTML 字符串直接渲染到 Word 文档中。
使用 Java 将 HTML 字符串转换为 Word 的步骤如下:
- 创建一个新的 Document 对象;
- 向文档中添加一个 Section 和一个 Paragraph;
- 从 HTML 文件或其他数据源中读取 HTML 字符串;
- 使用 Paragraph.appendHTML() 方法将 HTML 内容渲染进文档;
- 使用 Document.saveToFile() 方法将文档保存为 Word 文件(如 .docx)。
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.interfaces.IParagraph;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ConvertHtmlStringToWord {
public static void main(String[] args) throws IOException {
// 创建一个 Document 对象
Document document = new Document();
// 添加一个节
Section section = document.addSection();
// 设置页边距
section.getPageSetup().getMargins().setAll(2);
// 添加一个段落
IParagraph paragraph = section.addParagraph();
// 自定义 HTML 字符串
String htmlString = "<!DOCTYPE html>\n" +
"<html lang=\"zh-CN\">\n" +
"<head>\n" +
" <meta charset=\"UTF-8\">\n" +
" <title>季度销售报告</title>\n" +
" <style>\n" +
" body {\n" +
" font-family: \"Microsoft YaHei\", sans-serif;\n" +
" line-height: 1.6;\n" +
" padding: 20px;\n" +
" }\n" +
" table {\n" +
" border-collapse: collapse;\n" +
" width: 60%;\n" +
" margin-top: 20px;\n" +
" }\n" +
" th, td {\n" +
" border: 1px solid #666;\n" +
" padding: 8px 12px;\n" +
" text-align: center;\n" +
" }\n" +
" th {\n" +
" background-color: #f2f2f2;\n" +
" }\n" +
" </style>\n" +
"</head>\n" +
"<body>\n" +
"\n" +
" <h2>2024 年第一季度销售报告</h2>\n" +
"\n" +
" <p>本季度销售数据稳中有升,各大区整体完成情况良好,以下为关键区域销售业绩摘要:</p>\n" +
"\n" +
" <table>\n" +
" <tr>\n" +
" <th>地区</th>\n" +
" <th>负责人</th>\n" +
" <th>销售额(万元)</th>\n" +
" <th>完成率</th>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>西南地区</td>\n" +
" <td>王磊</td>\n" +
" <td>132</td>\n" +
" <td>110%</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>华中地区</td>\n" +
" <td>陈莉丽</td>\n" +
" <td>98</td>\n" +
" <td>95%</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>东北地区</td>\n" +
" <td>刘雨桐</td>\n" +
" <td>85</td>\n" +
" <td>102%</td>\n" +
" </tr>\n" +
" </table>\n" +
"\n" +
"</body>\n" +
"</html>\n";
// 将 HTML 字符串添加到段落中
paragraph.appendHTML(htmlString);
// 将文档保存为 Word 文件
document.saveToFile("E:/Administrator/Python1/output/HTML字符串转Word.docx", FileFormat.Docx);
document.dispose();
}
}
总结
本教程简要介绍了怎样在 Java 中将 HTML 转换为 Word,包括了转换 HTML 文件和转换 HTML 字符串为 Word 文档。如果你本文使用的工具——Spire.Doc for Java 感兴趣,可以试用它的免费版本,如果你要处理更加复杂的工作或其它需求,也欢迎随时联系我们!