你习惯用 Markdown 写作,纯文本、可版本管理、专注内容;但下游只认 Word 或 PDF。问题不在 Markdown,而在"怎么把一份结构化的纯文本,无损地变成带排版的交付物"。方法有三类,坑各不相同。

为什么不能直接把 Markdown 当 Word 发?
因为 .md 是源码、.docx/.pdf 是排版成品,两者是不同层级的东西。.md 里 ## 标题 只是一个标记,对方电脑上若没有渲染器,看到的就是一串带 # 的纯文本,没有字号、没有目录、没有页码。客户、导师、行政同事的工作流是 Office 和 PDF,给他们 .md 等于给了一份"半成品"。
所以交付的本质是一次格式转换:把 Markdown 的结构(标题、列表、代码、表格、图片)映射到目标格式对应的排版元素上。做得好不好,全看转换方式选得对不对。
Markdown 转 Word / PDF 有哪几种方法?
主流有三类,按"省事程度"和"可控程度"排开:
| 方法 | 适合场景 | 代价 |
|---|---|---|
| 复制渲染结果粘贴进 Word | 一两段短内容 | 带网页样式,字号/行距常错位 |
| 命令行 pandoc / wkhtmltopdf | 批量、自动化、自定义模板 | 需安装环境、记参数、处理字体 |
| 浏览器在线转换 | 偶尔转单个文件、要立刻就要 | 超长文档受浏览器内存限制 |
三者没有绝对优劣:要进 CI 流水线批量出 PDF,pandoc 是正解;只是偶尔把一份 .md 交出去,装 pandoc + 调参的成本远高于直接在浏览器转一下。
用浏览器把 .md 转 Word/PDF 怎么做?
如果你只是偶尔交付,最省事的是浏览器在线转换:不装环境、不记参数、不操心跨平台字体。把 .md 拖进 Markdown 转换工具,右侧选目标格式,点开始转换即可下载。它的几个关键点:
- PDF 默认用专业排版字体(思源宋体一类),代码块带语法高亮、表格有清晰边框,是"能直接发邮件给客户"的水准;
- Word 输出是真正的
.docx结构,不是"HTML 改后缀",样式可以在 Word 里二次编辑; - 亮/暗双主题:同一份
.md可选亮色(适合打印/客户)或暗色(适合截图/分享); - 源稿不上传:转换在浏览器本地完成,源文件和导出文件都不离开你的设备。
转换前先修一下格式,能少很多麻烦
转换效果差,很多时候根因是源 Markdown 本身格式不规范:标题 # 后漏空格、列表缩进不一致、有序列表全写成 1.。这些在渲染器里可能"碰巧"显示正常,但换一个转换引擎就可能解析错位。
所以正式交付前,先把 .md 过一遍 Markdown 格式检查工具,一键修复标题空格、列表缩进、行尾空格等问题,再去转换,结果会稳定很多。这一步尤其适合处理"别人发来的、格式很乱的 .md"。
图片、长文档、字体怎么处理?
这三处是转换最容易翻车的地方,逐一说清:
- 本地图片:用转换工具的"插入图片"按钮添加,会内嵌进导出文件;Markdown 里引用的远程图片 URL 会在转换时尝试加载,若对方服务器有 CORS 限制,会用占位图替代而不是让整个转换失败。
- 长文档:80–150 页的学位论文级别通常稳定;200+ 页建议先按二级标题拆成多个
.md分别导出再合并,避免单次浏览器内存压力。 - 字体:中文交付优先选内置的专业宋体/黑体,避免用系统里某个别人没有的字体——PDF 会嵌入字体所以没问题,但若是给别人继续编辑的 Word,最好用通用字体。
边界:什么时候该用 pandoc 而不是浏览器
如果你要做的是批量、自动化、强模板定制——比如每天从一堆 .md 自动生成统一模板的 PDF、要精确控制页眉页脚和参考文献样式、要接进 CI——那么命令行 pandoc + LaTeX 模板才是正解,可控性远超浏览器方案。浏览器转换的甜点区是"个人、偶发、要立刻拿到结果"的单文件交付。判断标准很简单:会不会重复做、要不要精确控版式,会且要就上 pandoc,否则浏览器更划算。