Skip to content

About

Convert Markdown legal documents to formatted Word (.docx) with auto-numbering

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

MD2DOCX-CC

将 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

Markdown 编写规范

# 文档标题                        → 居中加粗 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

About

Convert Markdown legal documents to formatted Word (.docx) with auto-numbering

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages