背景
最近接到一个需求,将word文档,转换成网页中能直接使用的帮助文档。网上有很多的工具可以将WORD(.docx)文档转成HTML文件,最简单的方式就是文件另存为 .html 的文件。
直接另存为存在以下缺陷:
- 冗余信息过多,部分需要手动处理;
- 不能进修拓展操作(例如:重新配置样式主题;不能进行导航配置);
- 图片资源文件的额外处理
解决思路
有很多开源的工具可以处理word文档,支持各种语言,本文使用 Node.js(身为前端当然的啦)来解决。
为了增加前端展示时的灵活性,基本思路就是:
.docx => HTML => JSON => React/Vue
- 先将word 文档转化成 HTML/XML 格式;
- 再将HTML/XML 转化成 需要JSON 格式;
- 依据JSON 再使用 React/Vue等进行展示。
具体方案
word 文档(.docx)转化成 HTML/XML 格式;
基础环境依赖 node.js + mammoth.js@1.4.16
mammoth.js的基本用法参考官方文档,这里主要提几个注意事项,官方快速使用方法如下:
var mammoth = require("mammoth");
mammoth.convertToHtml({
path: "path/to/document.docx"})
.then(function(result){
var html = result.value; // The generated HTML
var messages = result.messa