DOCX → HTML

Word 文档转 HTML。
不带 Word 那堆垃圾。

「另存为网页」会吐出几千行 mso- 样式。这里给的是你自己会手写的那种标记。

标题变 <h2>,表格变 <table>,微软专属的东西一样不留。

把文件拖到这里。

也可以点按钮选,或者直接 Ctrl+V 粘贴。一次几十个都行。

.docx .doc / 单个文件 25 MB / 在你浏览器里跑,不上传

别的格式: .md .markdown .txt .mdown MD → HTML · .txt .text 文本 → HTML · .txt .csv .tsv CSV → 表格 · .html .htm Google Docs → HTML · .xlsx Excel → 表格 · .pdf docstomd.com

输出设置
输出形态
缩进
图片

怎么用

  1. 01把 .docx 拖到上面的框里,或者点一下选文件。一次几十个都行。
  2. 02Mammoth 读的是文档结构 —— 真的标题级别、真的表格、真的列表 —— 再据此写出 HTML。这份 HTML 接着过 DOMPurify,因为 Mammoth 官方文档明确说了它的输出不做安全清理。
  3. 03决定图片怎么处理,然后复制 HTML、下载文件,或者拿一个把图片一并装上的 zip。

支持什么

  • 2007 年之后 Word 写出的所有 .docx,包括 Word Online 和 Mac 版 Word
  • Word 97–2003 的老 .doc,靠文件头判断而不是看扩展名
  • 标题输出成 <h1>–<h6>,依据是 Word 的样式,不是靠字号猜
  • 表格输出成 <table>,列表输出成带真实嵌套的 <ul>/<ol>,还有链接、粗体、斜体、删除线
  • 引用、代码样式段落输出成 <pre><code>,图注输出成 <p class="caption">
  • 内嵌图片:可以内嵌成 base64、抽到 images/ 目录里打包,或者直接丢掉

做不到什么

  • Word 的视觉格式 —— 字体、颜色、精确间距 —— 是故意不带过来的
  • 合并单元格会丢掉 colspan 和 rowspan,每格各自成一个 <td>
  • 修订记录和批注会丢掉 —— 你拿到的是终稿正文,不是编辑历史
  • 文本框、SmartArt 和图表过不来,最多剩下里面的文字
  • 老 .doc 里的图片取不出来 —— 那个格式把图藏在浏览器碰不到的地方
  • 加密文档会被直接拒掉,而不是读一半给你

哪些东西被扔掉了

Word 和 Google Docs 都会给正文裹上一层垃圾,那层东西只在它们自己的编辑器里有意义。这里一律清掉。

结构留着:标题还是标题,表格还是表格,列表还是列表。删掉的是装饰。

常见问题

Word 的导出目标是让页面在浏览器里看起来一模一样,于是它写下一大块 CSS,给几乎每个元素挂上 mso- 样式属性,加上 MsoNormal 这类类名,还有 <o:p> 这种 Office 专属标签。这里做的是相反的事:读结构,扔掉表现。你得到的是几十行语义化 HTML,而不是几千行改不动的标记。

想反着转?

DocsToMD 是同一套东西反过来用 —— Word、PDF、Excel、HTML 转成 Markdown。做法一样,隐私模型一样,只是输出格式相反。

docstomd.com