转换保留标题加粗列表等基础格式
转换会保留标题、段落、加粗、斜体、列表这些基础排版结构,但不保留原文档精确的字体、颜色、间距这些样式细节。所有处理完全在浏览器本地完成,不会上传你的文件。
「Word 转 HTML」把 .docx 文档转换成一段 HTML 代码。选择文件后,页面会先给出渲染预览,再列出 HTML 源码,你可以点击「复制代码」或「下载html」。它会保留标题、段落、加粗、斜体、列表、链接和表格这些基础结构,但不保留精确的字体、颜色和间距。显示和复制的是文档正文的代码片段,下载的文件会加上最基本的 doctype、编码声明和 title,但没有样式表;只支持 .docx 格式,旧版 .doc 需要先在 Word 里另存为 .docx。
我们用同一个转换库(mammoth)处理了一份预先生成的 .docx 测试文档,里面有一个二级标题、一张 1×1 像素的小图片、一段带超链接的文字,另外还有一个三级标题。得到的 HTML 是:二级标题变成 h2 标签,三级标题变成 h3 标签;超链接变成带 href 的 a 标签;设置了下划线的文字没有保留下划线;设置了删除线的文字变成了 s 标签;图片默认被直接嵌入成 img 标签,src 是以 data:image/png;base64 开头的一长串编码(取消勾选「包含图片」后不再生成 img 标签)。另一份含项目符号列表、编号列表和两行两列表格的文档,则转成了 ul、ol 和 table 标签,表格里每个单元格的文字都包在 p 标签中,并且没有表头 th 标签。这个例子说明:结构大体保留,但是细节有取舍,图片会让代码变得很长。
转换依据的是 Word 文档里的段落样式。只有应用了内置的「标题 1」到「标题 6」样式的段落才会被识别为标题。如果你的文档只是手动把字变大变粗,工具无法判断那是标题,就会输出普通段落。回到 Word 里,用「开始」选项卡的样式库重新给标题套用样式,再转换一次即可。
那是图片(如不需要,可取消勾选「包含图片」)。文档中的每一张图片都会被编码成 base64 文本直接放进 img 标签里,这样一份 HTML 不需要额外的图片文件就能显示图片,代价是代码变长。如果你打算放到网站上,通常需要把图片单独导出并改成普通的图片地址。
可以作为内容片段使用,但是不要把它当成完整页面。复制出的代码没有 doctype、head 和样式(下载的文件只带最基本的外壳,同样没有样式),你需要把它放进自己的页面模板里,并自己提供样式。发布前请在预览和你的网站里再检查一遍,尤其是表格和图片。
转换后的代码会先交给 DOMPurify 做净化,再显示和下载,目的是去掉脚本等可能有风险的内容。不过净化只是一层防护,如果文档来源不可信,把代码放到网站前仍然建议自己审查。
两者都是先把文档转成 HTML。本工具直接输出 HTML,保留表格和删除线等内容;「Word 转 Markdown」会再把 HTML 转成 Markdown 语法,表格会被拆成普通段落。如果你要发布到网页,用本工具;如果要写进支持 Markdown 的文档或笔记软件,用后者。
文件在浏览器里读取,并由页面按需加载的转换库在本地转换,净化也在本地完成,代码中没有把文档发送到服务器的网络请求。转换结果只存在于当前页面中,关闭或刷新页面后即消失。