将 Markdown 法律文书转换为排版规范的 Word 文档(.docx),自动生成中文数字编号、多级列表、表格等,适用于合同审查意见书、法律备忘录等专业文档场景。
- 自动编号:
## 一、二、三…大节标题、### 1. 2. 3…小节标题、多级有序/无序列表,全部使用 Word 原生自动编号(非纯文本序号) - 模板驱动:通过任意 .docx 模板控制页面尺寸、页边距、页眉页脚、字体字号,脚本自行创建所有编号定义,不依赖模板中的已有编号
- 表格转换:Markdown 表格 → Word 表格,首行加粗居中,
<br>自动拆分为单元格内多段落 - 行内格式:
**加粗**、*斜体*正确转换为 Word 格式 - 列表智能分类:
* **建议名称:** 描述自动识别为有序子项;* 纯文本识别为无序列表 - 编号自动重置:每组独立有序列表从 1 重新开始
pip install python-docx# 基本用法(模板默认为同目录下 Template.docx)
python3 md2docx.py input.md output.docx
# 指定模板
python3 md2docx.py input.md output.docx /path/to/template.docx# 文档标题 → 居中加粗 14pt
**致:** 某某公司 → 正文段落,标签加粗
**日期:** 2026年3月25日
--- → 跳过,不输出
## 一、大节标题 → 自动编号 一、二、三…
## 二、另一大节 (手动序号前缀自动去除)
### 1. 小节标题 → 自动编号 1. 2. 3.…
正文段落,**加粗**,*斜体*。 → Normal 两端对齐
**风险:**
* 普通文本 → ● 无序列表
* 另一条
**修改建议:**
* **建议一:** 详细描述 → 自动编号子项 1.1 1.2
* **建议二:** 详细描述 (以 **label:** 开头触发)
#### 四级标题 → 加粗段落,不编号
##### 五级标题 → 加粗斜体段落
1. **条目一:** 内容 → 独立有序列表 1. 2. 3.
* 子项 → 子编号 1.1 1.2
2. **条目二:** 内容
| 列A | 列B | 列C | → Word 表格
| --- | --- | --- |
| **加粗** | 内容 | 文本<br>换行 | → <br> 拆分为单元格内段落模板 .docx 文件只需包含两个段落样式:
| 样式名 | 作用 |
|---|---|
| Normal | 定义正文默认字体、字号、行距、对齐方式 |
| List Paragraph | 定义列表段落的缩进和格式 |
脚本会在运行时自动创建 4 类编号定义(中文数字、多级 decimal、项目符号、加粗有序),不需要模板预设任何编号。模板的页面布局(页边距、纸张大小、页眉页脚)会被完整保留。
| 输入 | 输出 |
|---|---|
# 标题 |
居中加粗 14pt,上下 18pt |
## N、大节 |
自动编号 一、二、三…,加粗 |
### N. 小节 |
自动编号 1. 2. 3.…,加粗 |
#### 子节 |
加粗段落,不编号 |
##### 深层 |
加粗斜体段落 |
* **label:** 文本 |
有序子项 1.1 / 1.2 / 1.3 |
* 普通文本 |
● 无序列表 |
1. 文本 |
独立有序列表,每组自动重置 |
* 子项 |
有序列表子编号 |
| Markdown 表格 | Word 表格,首行加粗居中 |
--- / *** |
跳过 |
<br> |
表格单元格内段落分隔 |
<span> 等 HTML |
保留为原文 |
MIT