将 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 文档。