Markdown(.md)文件转换为带格式的 Word(.docx)文档

将 Markdown(.md)文件转换为带格式的 Word(.docx)文档,最推荐使用 Pandoc。

Pandoc 可以保留 Markdown 中的标题层级、粗体、斜体、表格、列表、代码块、图片、超链接等格式,还能套用自定义 Word 模板。

一、推荐方法:使用 Pandoc 转换

1. 安装 Pandoc

官方网站:Pandoc 下载地址

Windows 11 可以直接通过 PowerShell 安装:

winget install --id JohnMacFarlane.Pandoc -e

安装后重新打开终端,检查版本:

pandoc --version

2. 将 Markdown 转换为 Word

最简单的命令:

pandoc input.md -o output.docx

如果 Markdown 使用了 GitHub 风格的表格、任务列表等语法,可以使用:

pandoc -f gfm -t docx input.md -o output.docx

3. 推荐的完整转换命令

pandoc input.md `
  -f markdown `
  -t docx `
  --standalone `
  --toc `
  --toc-depth=3 `
  --number-sections `
  -o output.docx

参数说明:

参数

作用

-f markdown

指定 Markdown 输入格式

-t docx

输出 Word 文档

--standalone

生成完整文档

--toc

自动生成目录

--toc-depth=3

目录显示到三级标题

--number-sections

自动添加章节编号

-o

指定输出文件

如果不需要目录和标题编号,删除对应参数即可。

二、重点:使用 Word 模板控制排版

如果希望转换后的 Word 具有规范的中文排版,例如宋体正文、黑体标题、固定行距、A4 纸张、页眉页脚,推荐使用 --reference-doc 参数。

1. 生成默认模板

pandoc -o reference.docx --print-default-data-file reference.docx

使用 Word 打开 reference.docx,修改样式,例如:

项目

推荐设置

一级标题

黑体、16 磅、加粗

二级标题

黑体、14 磅、加粗

三级标题

黑体、12 磅

正文

宋体、12 磅

英文和数字

Times New Roman

行距

1.5 倍

页面

A4

页边距

上下 2.54 cm、左右 3.17 cm

表格

带边框、表头加粗

代码块

Consolas、9 磅

修改 Word 的“样式”定义并保存模板。

2. 使用模板转换

pandoc input.md `
  -o output.docx `
  --reference-doc=reference.docx `
  --toc `
  --toc-depth=3

这样生成的 Word 就会使用模板中的标题、正文等样式。

Pandoc

+1


三、其他转换方式

方式

优点

适用场景

Pandoc

格式完整,支持模板和批量转换

最推荐

Typora

可视化编辑,可导出 Word

日常文档

VS Code + Pandoc

适合开发人员

技术文档

Microsoft Word

可通过复制渲染后的内容处理

简单文档

四、处理 Markdown 中的图片

假设目录结构为:

D:\docs\
    input.md
    images\
        logo.png
        architecture.png

可以这样转换:

cd D:\docs

pandoc input.md `
  -o output.docx `
  --reference-doc=reference.docx `
  --resource-path=".;images"

图片会嵌入 Word 文档,而不是仅保留本地文件路径。

Pandoc


需要注意,复杂的 HTML 表格、CSS 样式和某些 Mermaid 图表无法保证原样转换。

我的建议: 如果你经常使用 Claude Code、Codex 或其他 AI 工具生成 .md 技术文档,最好采用 Markdown + Pandoc + 自定义 Word 模板 的方案。

你也可以直接把 .md 文件上传到这里,我可以帮你转换成排版规范的 .docx,包括中文字体、标题层级、目录、表格和代码块。