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
输出设置
输出形态
缩进
图片
怎么用
- 01把 .docx 拖到上面的框里,或者点一下选文件。一次几十个都行。
- 02Mammoth 读的是文档结构 —— 真的标题级别、真的表格、真的列表 —— 再据此写出 HTML。这份 HTML 接着过 DOMPurify,因为 Mammoth 官方文档明确说了它的输出不做安全清理。
- 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 都会给正文裹上一层垃圾,那层东西只在它们自己的编辑器里有意义。这里一律清掉。
结构留着:标题还是标题,表格还是表格,列表还是列表。删掉的是装饰。
- <script> 标签
- onclick 这类事件属性
- 行内 mso- 样式
- 失效的 c1 / c17 类名
- 链接里的跟踪参数
- Office 专属标签
- 保留:语义结构
- 转义:& < > 和引号
常见问题
Word 的导出目标是让页面在浏览器里看起来一模一样,于是它写下一大块 CSS,给几乎每个元素挂上 mso- 样式属性,加上 MsoNormal 这类类名,还有 <o:p> 这种 Office 专属标签。这里做的是相反的事:读结构,扔掉表现。你得到的是几十行语义化 HTML,而不是几千行改不动的标记。
想反着转?
DocsToMD 是同一套东西反过来用 —— Word、PDF、Excel、HTML 转成 Markdown。做法一样,隐私模型一样,只是输出格式相反。