Назад към всички

document-format-skills

// 文档格式处理工具。支持格式诊断、标点符号修复、格式统一。输入杂乱的文档,输出规范整洁的docx。

$ git log --oneline --stat
stars:63
forks:12
updated:February 8, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namedocument-format-skills
description文档格式处理工具。支持格式诊断、标点符号修复、格式统一。输入杂乱的文档,输出规范整洁的docx。

文档格式处理工具

处理文档格式问题:诊断格式错误、修复标点符号、统一文档样式。

功能概览

功能说明脚本
格式诊断分析文档存在的格式问题analyzer.py
标点修复修复中英文标点混用punctuation.py
格式统一应用预设格式规范formatter.py
表格自动调整自动调整表格布局与对齐formatter.py
页码规范统一页码格式与位置formatter.py

使用方法

格式诊断

分析文档存在的问题,输出诊断报告:

uv run --with python-docx python3 scripts/analyzer.py input.docx

输出示例:

=== 格式诊断报告 ===

【标点问题】共 5 处
  - 第2段: 英文括号 () 建议改为 ()
  - 第3段: 英文引号 "" 建议改为 ""

【序号问题】共 2 处
  - 序号格式不统一: 同时存在 "1、" 和 "1." 
  - 第5段: 层级跳跃,从 "一、" 直接到 "1."

【段落问题】共 3 处
  - 第2、4、7段: 缺少首行缩进
  - 行距不统一: 存在单倍、1.5倍混用

【字体问题】共 2 处
  - 正文字号不统一: 12pt、14pt 混用
  - 检测到 4 种字体混用

标点符号修复

# 智能模式(根据上下文判断)
uv run --with python-docx python3 scripts/punctuation.py input.docx output.docx

# 强制全部转中文标点
uv run --with python-docx python3 scripts/punctuation.py input.docx output.docx --mode chinese

# 强制全部转英文标点
uv run --with python-docx python3 scripts/punctuation.py input.docx output.docx --mode english

# 只修复特定类型
uv run --with python-docx python3 scripts/punctuation.py input.docx output.docx --fix brackets,quotes

格式统一

# 应用公文格式
uv run --with python-docx python3 scripts/formatter.py input.docx output.docx --preset official

# 应用学术论文格式
uv run --with python-docx python3 scripts/formatter.py input.docx output.docx --preset academic

# 应用法律文书格式
uv run --with python-docx python3 scripts/formatter.py input.docx output.docx --preset legal

组合使用

# 先诊断
uv run --with python-docx python3 scripts/analyzer.py messy.docx

# 修复标点 + 应用格式
uv run --with python-docx python3 scripts/punctuation.py messy.docx temp.docx
uv run --with python-docx python3 scripts/formatter.py temp.docx clean.docx --preset official

标点符号处理规则

修复范围

类型错误正确(中文)正确(英文)
括号中英混用()()
引号直引号 """"''"" ''
冒号中英混用:
逗号中英混用,
句号中英混用.
分号中英混用;
问号中英混用?
叹号中英混用!
省略号...……...
破折号-- 或 ———--

智能判断逻辑

  1. 中文环境:前后都是中文字符 → 用中文标点
  2. 英文环境:前后都是英文/数字 → 用英文标点
  3. 混合环境:默认用中文标点(可配置)

特殊处理

  • 数字与单位之间:100% 保持英文
  • 英文缩写:e.g. i.e. 保持英文句点
  • 网址邮箱:保持原样不处理
  • 代码块:跳过不处理

格式预设

公文格式(GB/T 9704-2012)

页面:A4,上边距37mm,下边距35mm,左边距28mm,右边距26mm
标题:方正小标宋简体,二号(22pt),居中
一级标题:黑体,三号(16pt),顶格,"一、"
二级标题:楷体_GB2312,三号(16pt),顶格,"(一)"
三级标题:仿宋_GB2312,三号(16pt),首行缩进,"1."
正文:仿宋_GB2312,三号(16pt),首行缩进2字符,行距固定值28pt

学术论文格式

页面:A4,边距25mm
标题:黑体,小二(18pt),居中
一级标题:黑体,小三(15pt),"1"
二级标题:黑体,四号(14pt),"1.1"
正文:宋体/Times New Roman,小四(12pt),首行缩进2字符,行距1.5倍

法律文书格式

页面:A4,上边距30mm,下边距25mm,左边距30mm,右边距25mm
标题:宋体加粗,二号(22pt),居中
条款标题:黑体,四号(14pt),"第一条"
正文:宋体,四号(14pt),首行缩进2字符,行距1.5倍

文件结构

document-format-skills/
├── SKILL.md
├── README.md
├── scripts/
│   ├── analyzer.py      # 格式诊断
│   ├── punctuation.py   # 标点修复
│   └── formatter.py     # 格式统一
└── presets/
    ├── official.yaml    # 公文格式
    ├── academic.yaml    # 学术论文
    └── legal.yaml       # 法律文书

依赖

  • python-docx

使用 uv run --with python-docx 自动安装。


注意事项

  1. 只支持 .docx:不支持旧版 .doc 格式
  2. 备份原文件:修改前建议备份
  3. 字体依赖:输出文件需要系统安装对应字体才能正确显示
  4. 表格内容:会自动处理表格内的文字