Word 转 Markdown 怎么转才干净:两条路线与格式保真对照
把 Word 文档转成 Markdown,直接复制粘贴必然乱:粗体变样式残留、表格成图片、标题级别全丢。干净的做法有两条路线——pandoc 命令行(批量、可脚本化)和浏览器本地转换(零安装、文档不出机器)。两条路线底层面对的是同一组格式难题,本文逐一拆解;赶时间的可以直接用 Word 转 Markdown 工具,在浏览器里完成转换,文件不上传。
为什么「复制粘贴」永远不干净
Word 的文档模型是样式驱动的:一段文字「看起来是标题」,可能是因为套了 Heading 2 样式,也可能是手工加大字号加粗。Markdown 是语义标记:## 就是二级标题,不存在「看起来像」。
所以转换的本质是一次语义猜测:转换器必须判断「这个加粗大字」到底是不是标题。pandoc 和浏览器工具走的是同一条路径——先把 docx 解析成带语义的中间格式(HTML),再映射到 Markdown。样式残留越多的文档,猜测越难。
路线一:pandoc(命令行,适合批量)
pandoc input.docx -t gfm -o output.md
-t gfm输出 GitHub Flavored Markdown,表格、删除线、任务列表兼容性最好;--extract-media=./assets把图片抽到本地目录而不是内联;- 批量转换直接 for 循环:
for f in *.docx; do pandoc "$f" -t gfm -o "${f%.docx}.md"; done
适合采编团队、静态站点迁移这类一次性处理几百篇的场景。
路线二:浏览器本地转换(适合含敏感内容的文档)
合同扫描件、内部评审稿、未公开的方案书——这类文档传第三方在线转换器有泄露风险。浏览器本地方案的全部计算都在你自己的机器上完成,拔掉网线照样能转:
- 打开 docx 转 Markdown 工具;
- 拖入
.docx文件(Word 2007 及以上); - 选择图片处理方式(保留内联或丢弃为占位符);
- 复制结果或下载
.md文件。
文档不会被上传——这不是承诺,是架构:整个转换管线跑在浏览器进程里,没有后端可以接收文件。反向需求(Markdown 回填 Word 交付格式)用 Markdown 转 Word 工具 同样在本地完成。
格式保真对照表
| Word 元素 | 转换结果 | 备注 |
|---|---|---|
| 标题样式(Heading 1-6) | # ~ ###### | ✅ 样式套用正确时无损 |
| 手工加粗大字(非样式标题) | 普通段落 | ⚠️ 语义无法恢复,需手动升级 |
| 表格 | GFM 管道表格 | ✅ 规则表格无损 |
| 合并单元格的复杂表格 | 退化/拆散 | ⚠️ Markdown 表格模型不支持合并 |
| 图片 | base64 内联或抽离 | 体积见下节 |
| 自动编号列表 | 普通有序列表 | ✅ Markdown 自带编号,不保留 Word 的编号样式 |
| 脚注 | GFM 脚注语法 [^1] | 部分平台渲染不支持 |
| 批注/修订 | 丢失 | 转换前先「接受所有修订」 |
| 公式(OMML) | 丢失或转 LaTeX(pandoc) | 两条路线对公式支持都有限 |
| SmartArt / 艺术字 | 丢失或降级为纯文本 | 建议先截图 |
三个最常见的坑
坑一:旧版 .doc 直接报错
.doc 是二进制 OLE 格式,和 .docx(OOXML,ZIP 包 XML)是两代技术。所有现代转换器只吃 OOXML——遇到 .doc 先在 Word/WPS 里「另存为 .docx」。工具端对 .doc 会直接提示这条路径而不是静默转出乱码。
坑二:图片把文件撑爆
图片内联(base64)能让单个 .md 文件自包含,但一张 2MB 的截图 base64 后约 2.7MB,十张图的文档转出来十几 MB,编辑器卡顿、git 仓库膨胀。规则:要自包含选内联,要长期维护选抽离图片目录。一次性贴 wiki 可以内联;进版本库的文档建议抽离。
坑三:自动编号变「手写编号」
Word 的自动编号是「样式 + 计数器」,转成 Markdown 后变成 1. 2. 3. 字面量——看起来一样,但 Word 里加一项全文自动重排,Markdown 里得手动改。这是格式模型的根本差异,无解,知道就好。
实现注记 / Implementer's note
浏览器版工具的管线是 mammoth(docx → 语义 HTML)+ turndown + GFM 插件(HTML → Markdown),两个库都是动态 import——打开工具页的瞬间不加载转换库,拖入文件的瞬间才拉取,首屏零成本。图片开关的默认值选了「保留」:内联 base64 虽然体积大,但「转出来的文件发给别人打不开图」比「文件大」更伤。mammoth 的转换警告(比如丢了不支持的元素)会原样透传到结果区,不吞——用户有权知道丢了什么。旧 .doc 的拒绝文案写明了出路(另存为 .docx),因为「报错 + 指路」比「静默降级」诚实。
FAQ
转换后表格全乱了怎么办?
大概率是合并单元格。Markdown 表格模型(包括 GFM)不支持 rowspan/colspan,复杂表格要么拆成多张简单表,要么保留为图片,要么改用 HTML 表格嵌入。
公式能转吗?
pandoc 可以把 OMML 公式转成 LaTeX(--to markdown 方言),浏览器路线对公式基本无能为力。重度公式文档建议直接在 LaTeX/Typst 里重写。
100 页的大文档会卡吗?
浏览器本地方案处理几十 MB 的 docx 没有压力(解析在本地内存完成),瓶颈通常在编辑器打开超大 .md 文件——超长文档建议按章节拆分转换。PDF 方向的转换(合并/拆分/压缩)可以配合 PDF 工具全家桶 的路线完成。
会上传我的文件吗?
不会。转换代码在你的浏览器里运行,文件内容不离开本机——可以在断网状态验证:拔网线后工具依然完整工作。
这篇转换路线笔记来自 ToolVault 工具匣的文档转换工具实现过程,两条路线的差异都在开发中实测过。
补充注记
mammoth 的 docx→HTML 映射表里,样式名是中英文环境敏感的(「标题 1」vs "Heading 1"),WPS 生成的文档偶尔带私有样式名——工具没有穷举映射,而是依赖 mammoth 的样式等级嗅探兜底,实测对主流模板覆盖良好,非主流模板的残留样式以警告形式提示人工复核。
相关工具
相关文章
中国车牌号规则与校验:普通牌、新能源与特殊格式全解
中国大陆车牌号编码规则详解:普通蓝牌、新能源 GA36D-2018、武警与使馆牌的结构、省份简称与发牌机关编码,附在线校验方法。
GEO 是什么:生成式引擎优化入门,AI 搜索时代的流量新入口
GEO(Generative Engine Optimization)之于 AI 搜索,相当于 SEO 之于 Google——当 ChatGPT、Perplexity、豆包开始直接回答问题,用户不再点击链接,内容如何被 AI 引用成为新战场。本文拆解 GEO 与 SEO 的本质区别、四大核心实践(可抓取/结构化/可引用/事实密度),以及一个真实工具站的 GEO 实测数据。
llms.txt 规范解读:给 LLM 的站点说明书,值不值得放一个
llms.txt 是 2024 年提出的站点根目录 markdown 文件,用结构化的方式告诉大模型这个站有什么值得读。本文拆解它的规范结构(H1+摘要+分层链接)、与 robots.txt/sitemap 的分工、llms-zh/llms-full 多份产物、常见翻车,以及构建期自动生成的真实实践——含可参考的文件骨架与说明文字写法。