跳到主要内容
AI教程

用 Gongwen Skill 生成并核验 GB/T 9704-2012 公文 DOCX

本教程介绍 Gongwen GB/T 9704-2012 Skill 的安装、文档生成、版式核验与进阶用法,帮助你为 Word 和 WPS 创建普通材料、正式发文及专用格式 DOCX。

用 Gongwen Skill 生成并核验 GB/T 9704-2012 公文 DOCX
公文排版 Skill 项目头图

项目解决什么问题

Gongwen GB/T 9704-2012 Skill 是一个面向中文正式材料的开源工具。它不只是给标题设置黑体、给正文设置仿宋,而是按照 GB/T 9704-2012 的可执行要求,处理 A4 页面、版心、标题、正文、层次、首页、机构名称、文号、署名、日期和页码等版式要素,并输出可继续编辑的 DOCX 文件。

项目适合普通报告、方案、汇报,也支持正式发文、预印红头纸套打、完整电子红头、信函、命令(令)和纪要。生成后的文档可以在 Word 或 WPS 中继续添加表格、附件、印章图片,或安排实体盖章。

从 AI 内容到 Word 文档的整理流程

GB/T 9704-2012 适用于党政机关制发公文,其他机关和单位可以参照执行。README 说明该标准在 2025 年 5 月 30 日复审后继续有效。

核心功能与使用边界

  • 普通材料:默认使用 ordinary,即使提供机构名称,也不会自动生成红头。
  • 正式发文:必须显式选择 formal。预印红头纸模式只为纸张已有的红头和红线预留空间,不会在 DOCX 中重复绘制。
  • 电子红头:只有设置 formal --letterhead digital 时,生成器才会绘制完整红头要素。
  • 机构名称和文号:通过 --org 与 --doc-no 提供。正式版式会拒绝明显不符合年份、六角括号、顺序号及“号”字规则的文号。
  • 标题与目录:四级标题会写入 Word/WPS 的“标题1”至“标题4”样式及相应大纲级别,可据此插入自动目录。
  • 页码:支持居中、单双页和不显示三种模式,具体参数应以项目的 SKILL.md 为准。
  • 附件与版记:附件可另页生成并保持正式页码连续;抄送或印发信息可锚定在最后一页版心底部。
  • 人工处理:印章、签名章、附件内容和实际盖章位置仍需根据用途在 DOCX 中补充或复核。
将标准参数转换为公文版式

准备项目与运行环境

先从 GitHub 项目地址 获取仓库,并进入项目根目录。生成器和校验器通过 node 执行,因此本机需要具备可用的 Node.js 环境;README 没有指定具体版本,应以仓库当前脚本和测试结果为准。

如果只想直接生成 DOCX,可以在仓库中运行脚本。如果希望 AI 编程工具自动读取这套 Skill,则可使用跨平台安装器。

macOS 与 Linux

scripts/install.sh --all

Windows

.\scripts\install.ps1 -All

安装器会把同一份源目录连接到各平台的用户级技能目录。Windows 默认采用复制方式,以避免符号链接权限问题。支持的平台包括 Codex、Claude Code、OpenCode、Trae Code、Trae CLI、Kimi Code CLI、Kimi Code、WorkBuddy 和 ZCode。TraeWork 使用仓库中的 dist/traework-gongwen-skill.zip 导入包。

同一套公文规则服务多个 AI 工具

生成第一份普通材料

项目提供了测试输入文件 tests/fixture.md。下面的命令将其转换为普通材料版式,并写入临时目录:

node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/gongwen.docx --format ordinary --title "公文格式回归测试"

主要参数含义如下:

  • --input:输入内容文件。
  • --output:生成的 DOCX 路径。
  • --format ordinary:使用普通报告、方案或汇报版式。
  • --title:设置文档标题。

生成完成后,使用校验器检查工具能够承诺的 DOCX 结构和版式要素:

node scripts/verify_gongwen_docx.mjs --input /tmp/gongwen.docx --profile ordinary

校验通过并不意味着可以跳过最终审阅。正式交付前,仍应在目标电脑的 Word 或 WPS 中打开文件,并结合实际打印条件检查换行、分页、字体、附件和盖章位置。

生成预印红头纸套打稿

如果材料需要打印到已经带有红色机关标志和红线的纸张上,应明确选择正式版式和预印红头纸模式:

node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/formal.docx --format formal --letterhead preprinted --letterhead-reserve-mm 72 --org "示例单位文件" --doc-no "示例发〔2026〕1号" --title "公文格式回归测试"

--letterhead-reserve-mm 72 表示在首页为纸张已有的红头区域预留 72 毫米。72 毫米是默认值,实际使用时应测量本单位的红头纸,并在项目支持的 37 至 130 毫米范围内调整。此模式不会在 DOCX 中重新绘制红色机关标志和红线。

随后使用对应的正式版式配置进行核验:

node scripts/verify_gongwen_docx.mjs --input /tmp/formal.docx --profile formal --letterhead preprinted

生成完整电子红头

只有确实需要在 DOCX 中绘制完整红头要素时,才使用 --letterhead digital:

node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/formal-digital.docx --format formal --letterhead digital --org "示例单位文件" --doc-no "示例发〔2026〕1号" --title "公文格式回归测试"

电子红头对字体环境更敏感。红头和标题应使用目标电脑实际安装的小标宋体,正文等内容还需要标准仿宋体。生成器找不到这些字体时,会在终端警告并记录所采用的替代字体。

不同字体环境造成的公文版式差异

禁止字体替代

对于不能接受字体替代的交付场景,在生成器和校验器上同时加入 --require-standard-fonts。如果当前电脑缺少小标宋体或标准仿宋体,命令会停止并列出缺失字体,而不是继续输出替代版本。

node scripts/generate_gongwen_docx.mjs --input tests/fixture.md --output /tmp/strict.docx --format formal --letterhead digital --org "示例单位文件" --doc-no "示例发〔2026〕1号" --title "公文格式回归测试" --require-standard-fonts
node scripts/verify_gongwen_docx.mjs --input /tmp/strict.docx --profile formal --letterhead digital --require-standard-fonts

目录、附件与专用格式

在 Word 或 WPS 中生成目录

生成器会把四级标题写入标准标题样式和大纲级别。打开文档后,可在 Word/WPS 中选择“引用→目录”生成或更新自动目录。是否显示第四级标题,需要在目录设置中选择。

添加附件

通过重复使用 --attachment-file,可以把多个附件另页加入文档。生成器会安排“附件”标签、第三行标题和正文,并保持正式文件的页码连续。具体输入结构应参考仓库中的 SKILL.md。

选择专用生成分支

  • 信函 letter:生成指定尺寸的上下红色双线,底线位于页脚,并关闭页码。
  • 命令(令) command:落实机关标志下空二行、令号下空二行等版式要求。
  • 纪要 minutes:将“出席”“请假”“列席”标签设置为黑体,人员名单设置为仿宋。

这些类型不是普通版式上的简单文字替换,而是分别进入对应的生成分支。选择前应先确认文件种类。

进阶使用建议

  1. 不要依据机构名称猜测红头类型。普通材料始终明确使用 ordinary,正式发文则显式使用 formal。
  2. 先确认纸张,再设置套打留白。预印红头纸的实际尺寸可能因单位模板而异,不应机械沿用默认 72 毫米。
  3. 在最终编辑环境中安装并验证字体。同一字体在不同系统、Word 和 WPS 中可能采用不同名称,替代字体也可能改变字号、行距和换行。
  4. 利用标题样式维护长文档。不要手工模拟目录层级,应使用生成器写入的标题1至标题4样式。
  5. 把自动校验和人工核验结合起来。可参考仓库中的 references/gbt9704-audit-matrix.md 与 references/formal-checklist.md,区分可自动检查和必须人工复核的项目。
  6. 关注特殊排版逻辑。正式电子红头会使用显式的 28 磅版心空行控制红线下标题及机关标志到文号的距离;上行文的文号与签发人会安排在同一行。

运行项目测试

在 macOS 或 Linux 环境中,可运行仓库提供的回归测试:

tests/run_tests.sh

测试覆盖居中与单双页页码生成、DOCX 包结构以及 PDF 转换验证,用于证明生成器、校验器和可打印文件链路可以运行。跨平台安装还可通过 tests/test-install.sh 在隔离环境中验证本地技能目录和 TraeWork 导入包。

结语

Gongwen Skill 把容易分散在提示词、Word 模板和临时脚本中的公文规则集中到同一套可维护流程中。最稳妥的用法是:先选择正确的普通或正式版式,再生成 DOCX、运行校验器,最后在目标 Word/WPS、字体环境和打印条件下完成人工复核。项目采用 MIT 许可,但标准文本和机关模板仍应遵循各自的权利与管理规则。