L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

gbt-9704-2012-skills

gbt-9704-2012-skills

国家行政机关公文格式处理工具(GB/T 9704-2012)。支持格式诊断、标点修复、公文格式排版、页码自动生成。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: gbt-9704-2012-skills description: 国家行政机关公文格式处理工具(GB/T 9704-2012)。支持格式诊断、标点修复、公文格式排版、页码自动生成。

国家行政机关公文格式处理工具(GB/T 9704-2012)

专门用于处理党政机关公文格式,严格按照《GB/T 9704-2012 党政机关公文格式》国家标准设计。

功能概览

功能说明脚本
格式诊断分析文档存在的格式问题,输出诊断报告analyzer.py
标点修复修复中英文标点混用,符合公文规范punctuation.py
公文排版应用标准公文格式(页面、字体、字号、行距等)formatter.py
表格优化自动调整表格布局、边框、对齐方式formatter.py
页码生成自动生成标准页码(一字线,奇右偶左)formatter.py
版记处理自动处理抄送、印发单位等版记格式formatter.py

快速开始

1. 格式诊断

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

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

输出示例:

==================================================
              公文格式诊断报告
==================================================

【标点问题】共 8 处
  - 英文括号:第 2、5、8 段
  - 英文引号:第 3、7 段
  - 英文句号:第 4、6 段
  - 不规范省略号:第 9 段

【序号问题】共 2 处
  - 序号格式不统一:同时存在 "1." 和 "1、"

【段落格式问题】共 5 处
  - 缺少首行缩进:第 3、5、7、9、11 段
  - 行距不统一:存在 3 种不同行距

【字体问题】共 2 处
  - 字体种类过多:检测到 6 种字体
  - 字号不统一:检测到 5 种字号

--------------------------------------------------
共发现 17 处格式问题

建议:
  - 运行 punctuation.py 修复标点问题
  - 运行 formatter.py 统一公文格式

2. 标点符号修复

# 智能模式(根据上下文自动判断)
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 --fix brackets,quotes

3. 公文格式排版

# 应用标准公文格式(GB/T 9704-2012)
uv run --with python-docx python3 scripts/formatter.py input.docx output.docx

# 使用自定义配置
uv run --with python-docx python3 scripts/formatter.py input.docx output.docx --preset custom

4. 组合使用(推荐流程)

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

# 步骤 2:修复标点
uv run --with python-docx python3 scripts/punctuation.py messy.docx temp.docx

# 步骤 3:应用公文格式
uv run --with python-docx python3 scripts/formatter.py temp.docx clean.docx

# 步骤 4:再次诊断确认
uv run --with python-docx python3 scripts/analyzer.py clean.docx

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

页面设置

纸张:A4(210mm × 297mm)
页边距:上 37mm,下 35mm,左 28mm,右 26mm
版心:156mm × 225mm(不含页码)

字体字号

要素字体字号说明
公文标题方正小标宋简体二号(22pt)居中
主送机关仿宋_GB2312三号(16pt)顶格
一级标题黑体三号(16pt)"一、" 首行缩进 2 字符
二级标题楷体_GB2312三号(16pt)"(一)" 首行缩进 2 字符
三级标题仿宋_GB2312三号(16pt)"1." 首行缩进 2 字符
四级标题仿宋_GB2312三号(16pt)"(1)" 首行缩进 2 字符
正文仿宋_GB2312三号(16pt)首行缩进 2 字符
附件说明仿宋_GB2312三号(16pt)首行缩进 2 字符
发文机关署名仿宋_GB2312三号(16pt)右对齐
成文日期仿宋_GB2312三号(16pt)右对齐,阿拉伯数字
附注仿宋_GB2312三号(16pt)居左空 2 字,圆括号
抄送单位仿宋_GB2312三号(16pt)左右各空 1 字
页码宋体四号(14pt)一字线,奇右偶左

段落格式

正文:首行缩进 2 字符,行距固定值 28 磅
标题:首行缩进 2 字符,行距固定值 28 磅
主送机关:顶格,行距固定值 28 磅
落款:右对齐,行距固定值 28 磅

页码格式

位置:距版心下边缘约 7mm
格式:— 1 —(一字线 + 空格 + 页码 + 空格 + 一字线)
对齐:奇数页居右,偶数页居左
字体:四号宋体

标点符号处理规则

公文标点规范

标点用法说明
括号中文用(),英文用 (),公文一般用全角括号
引号双引号"",单引号'',不能用直引号 ""''
冒号中文用全角:,英文用半角:
逗号中文用全角,,英文用半角,
句号中文用全角。,英文用半角.
省略号……(6 个点,居中),不能用...
破折号——(2 个汉字长度),不能用--或—

特殊处理

  • 成文日期:使用阿拉伯数字,如"2024 年 1 月 15 日"
  • 结构层次序数:
    • 第一层:"一、" "二、" "三、"
    • 第二层:"(一)" "(二)" "(三)"
    • 第三层:"1." "2." "3."
    • 第四层:"(1)" "(2)" "(3)"
  • 数字用法:公文中的数字,除部分结构层次序数和词、词组、惯用语、缩略语外,使用阿拉伯数字

公文要素识别

自动识别的公文要素

  1. 标题:识别"关于 XXX 的通知/报告/请示/函"等公文标题
  2. 主送机关:识别"XXX:"格式的主送单位
  3. 正文:自动识别各层级标题和正文段落
  4. 附件说明:识别"附件:XXX"或"附件 1:XXX"
  5. 发文机关署名:识别单位名称(含"局/委/部/厅/院/所/公司"等)
  6. 成文日期:识别多种日期格式,统一转为阿拉伯数字
  7. 版记:识别抄送、印发单位等版记要素

特殊段落处理

  • 不需要首行缩进的段落:
    • 居中的主标题
    • 主送机关(顶格)
    • 附件行
    • 落款单位(右对齐)
    • 成文日期(右对齐)
    • 抄送单位行

表格处理规范

表格格式要求

边框:0.5 磅细实线
表头:居中,可加粗
内容:
  - 序号列:居中
  - 短文本(≤4 字):居中
  - 数字:右对齐
  - 长文本:左对齐
行高:至少 0.7cm
单元格边距:左右 0.05cm
列宽:根据内容自动调整(8%-45%)

表题和表注

  • 表题:表格上方,居中,如"表 1 XXX 情况表"
  • 表注:表格下方,右对齐,如"单位:万元"
  • 间距:表题与表格之间、表格与表注之间空一行

文件结构

gbt-9704-2012-skills/
├── SKILL.md                 # 使用说明
├── README.md                # 详细介绍
├── scripts/
│   ├── analyzer.py          # 格式诊断
│   ├── punctuation.py       # 标点修复
│   └── formatter.py         # 公文排版
└── presets/
    ├── official.json        # 标准公文格式
    └── custom.json          # 自定义格式(可选)

依赖

  • python-docx

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


注意事项

  1. 只支持 .docx 格式:不支持旧版 .doc 格式(可先用 Word 另存为 .docx)
  2. 备份原文件:修改前建议备份原文件
  3. 字体依赖:输出文件需要系统安装对应字体才能正确显示
    • 方正小标宋简体
    • 仿宋_GB2312
    • 楷体_GB2312
    • 黑体
  4. 表格内容:会自动处理表格内的文字格式和对齐方式
  5. 页码:自动启用奇偶页不同页脚,生成标准页码格式
  6. 首次运行:会自动安装 python-docx 依赖,可能需要几分钟

常见问题

Q: 为什么输出的文档字体显示不正确?

A: 需要系统安装对应的中文字体。Windows 系统一般自带这些字体,Mac/Linux 系统需要手动安装。

Q: 可以处理带表格的公文吗?

A: 可以。会自动识别并优化表格格式,包括边框、列宽、对齐方式等。

Q: 成文日期能自动转换格式吗?

A: 可以。支持识别"二〇二四年一月十五日"和"2024 年 1 月 15 日"等格式,统一转为阿拉伯数字。

Q: 如何处理版记(抄送、印发)?

A: 会自动识别"抄送:"、"印发:"等关键字,按标准格式排版(左右各空 1 字)。


项目来源

本工具是在 document-format-skills 项目基础上,针对国家行政机关公文格式(GB/T 9704-2012)进行的专项开发和优化。

感谢原项目作者的优秀工作,本工具继承了原项目的核心功能,并针对党政机关公文场景进行了深度定制。

版本信息

  • 版本:1.0.0
  • 标准依据:GB/T 9704-2012 党政机关公文格式
  • 创建日期:2026-04-08
Skills enregistrées