权限声明
本技能执行时会:
- 读取用户明确指定的本地
.docx文件; - 写入排版结果文件(默认输出到用户指定的新路径,不覆盖原文件,除非用户显式要求);
- 首次运行时检测并按需安装 Python 依赖
python-docx(仅当用户环境缺失且用户确认后)。
本技能不会:
- 访问指定文件以外的任何本地文件;
- 联网上传文档内容或向第三方发送数据;
- 读取或写入系统配置、注册表;
- 执行任何删除、移动或其他不可逆操作。
Word 公文自动排版
概述
本技能对 Word(.docx)文档执行基于 GB/T 9704 标准的公文自动排版与审核。核心能力分为两部分:
- 自动排版(format):自动设置页面尺寸、页边距、标题/正文字体、首行缩进、两端对齐、序号行加粗、行距、2字姓名分散对齐。
- 排版审核(audit):检查上述项目是否合规,并报告需人工处理的项(序号连续性、金额含税标注、领导人表述、附件格式等)。
详细排版规则见 references/formatting_rules.md。
标准参数
| 项目 | 规范值 |
|---|---|
| 页面 | A4 纵向 210×297mm |
| 页边距 | 上37 / 下35 / 左28 / 右26 mm |
| 标题字体 | 小标宋,二号(22pt),居中 |
| 正文字体 | 仿宋,三号(16pt) |
| 序号行 | 仿宋加粗(一、二、三…) |
| 首行缩进 | 2字符(32pt) |
| 对齐 | 两端对齐 |
| 行距 | 固定值 29pt(≈22行/页) |
| 审核截止 | 抄送/抄报/抄发行及之后不审核 |
工作流
前置条件
- Python 3.8+ 已安装 python-docx 库
- 如未安装,执行:
pip install python-docx - 目标文件为 .docx 格式
步骤一:自动排版
对用户提供的 .docx 文件执行自动排版。优先输出到新文件,避免覆盖原始文件。
python scripts/doc_formatter.py format <input.docx> -o <output.docx>
脚本将自动执行:
- ① 页面 → A4 (210×297mm)
- ② 页边距 → 上37/下35/左28/右26mm
- ③ 行距 → 固定值 29pt
- ④ 标题 → 小标宋 二号 居中
- ⑤ 正文 → 仿宋 三号;序号行 → 仿宋加粗
- ⑥ 首行缩进 → 32pt (2字符)
- ⑦ 对齐 → 两端对齐
- ⑫ 2字姓名 → 字符间距+8pt(分散对齐)
脚本同时输出「需人工处理」清单,包含:
- 金额含税/不含税标注缺失
- 领导人表述不完整
- 出席/列席重复
- 列席换行对齐(需渲染检查)
- 序号连续性、议题空行、附件格式(需人工确认)
步骤二:排版审核
排版完成后,执行审核确认合规性:
python scripts/doc_formatter.py audit <output.docx>
审核报告分为三档:
- 符合项(✓):已满足规范的项
- 不符合项(✗):自动可修复但未修复、或需手动调整的项
- 需人工检查项(⚠):脚本无法自动判断的项(如金额标注、序号连续性等)
步骤三:人工处理
根据审核报告中的「需人工检查项」,逐条处理:
- 金额标注:在金额后添加括号注明「含税」或「不含税」
- 领导人表述:确保使用完整六字「习近平总书记」
- 序号连续性:检查一二三…是否连续不缺
- 附件格式:确保仅一处「附件:」+ 阿拉伯数字 + 圆点
- 列席换行对齐:视觉检查名单各行首字对齐
步骤四:再次审核
人工处理完成后,再次运行 audit 确认全部合规。
脚本用法
doc_formatter.py audit <file.docx> # 审核,输出合规报告
doc_formatter.py format <file.docx> [-o out.docx] # 排版,可指定输出文件
退出码:audit 模式无不符合项返回 0,有则返回 1。
排版规则速查
完整规则见 references/formatting_rules.md,以下为快速索引:
| 编号 | 规则 | 可自动修复 |
|---|---|---|
| ① | A4纵向 210×297mm | ✓ |
| ② | 页边距 上37/下35/左28/右26mm | ✓ |
| ③ | 行距 29pt固定值 (≈22行/页) | ✓ |
| ④ | 标题小标宋 | ✓ |
| ⑤ | 正文仿宋;序号行加粗 | ✓ |
| ⑥ | 首行缩进2字符 | ✓ |
| ⑦ | 两端对齐 | ✓ |
| ⑧ | 大写序号连续不缺 | 仅审核 |
| ⑨ | 议题前空1行 | 仅审核 |
| ⑩ | 附件:1.… 2.… | 仅审核 |
| ⑪ | 附件行前空2行 | 仅审核 |
| ⑫ | 2字姓名分散对齐 | ✓ |
| ⑬ | 列席换行对齐 | 需渲染 |
| ⑭ | 金额含税/不含税标注 | 仅审核 |
| ⑮ | 习近平总书记完整表述 | 仅审核 |
| ⑯ | 标点不居行首;出席不重复 | 仅审核 |
注意事项
- 脚本仅处理 .docx 格式;如为 .doc 或 .wps,需先转换为 .docx
- 审核截止于版记行(抄送/抄报/抄发),版记后的附件不再审核
- 以下项目需渲染后才能精确检查,Word 原生无法直接测量:列席换行对齐(⑬)、标点行首(⑯)、每页精确行字数(③)
- 字体名称使用模糊匹配,详见
references/formatting_rules.md第八章