md2docx — Markdown 转 Word
将 .md 文件转换为格式精良的 .docx 文档。
用法
python md2docx.py <输入文件.md> <输出文件.docx>
功能
- 中文排版:全文微软雅黑,正文 10.5pt,表格 9pt
- 动态标题字号:自动检测标题层级,末级 12.5pt,每升一级 +2pt
- Mermaid 图表:调用 mermaid.ink 在线服务渲染为 PNG 嵌入文档,无需本地 Node.js 环境
- 代码块:灰色背景 + 四边框 + Consolas 等宽字体
- 行内格式:
**粗体**、*斜体*、`代码`、[链接](url) - 表格:表头灰底,支持 HTML 转义
- 引用块 / 分割线 / 图片 / HTML 块
- 表情符号替换:自动将 emoji 转为文字描述
依赖
pip install python-docx pygments pillow
| 包 | 必须 | 用途 |
|---|---|---|
| python-docx | 是 | 生成 Word 文档 |
| pygments | 否 | 代码块语法高亮(缺失时回退纯文本) |
| pillow | 否 | Mermaid 图片自动缩放(缺失时用默认宽度) |
无需 Node.js,无需 npm install,无需浏览器。
个性化配置
在 md2docx.py 顶部修改常量:
FONT_NAME = '微软雅黑' # 全文字体
BODY_FONT_SIZE = 10.5 # 正文字号
TABLE_FONT_SIZE = 9 # 表格字号
MIN_HEADING_SIZE = 12.5 # 最末级标题字号
HEADING_SIZE_STEP = 2 # 每升一级递增字号
文件结构
md2docx/
├── md2docx.py # 主转换脚本
├── code_block.py # 代码块样式渲染
└── SKILL.md # Skill 描述(本文件)
Scan to contact