| name | gongwen-lingnan-1 |
| description | 生成符合岭南学院公文格式规范的 Word 文档。基于 docx-js (JavaScript) 实现,跨平台可用,无需 Microsoft Word 或 pywin32。 |
公文 Word 文档生成器(docx-js 版)
基于 docx-js JavaScript 库实现岭南学院公文格式规范,跨平台可用(Windows/macOS/Linux),无需安装 Microsoft Word 或 pywin32。
操作步骤
第一步:建立临时工作目录
在开始任何操作前,必须在项目根目录下建立临时文件夹,格式为:
<项目目录>/gongwen-lingnan-1-temp/<YYYYMMDD-HHMMSS>/
示例操作:
timestamp=$(date +%Y%m%d-%H%M%S)
mkdir -p gongwen-lingnan-1-temp/$timestamp
严格要求:所有调试文件、中间产物、转换后的 Markdown、提取的文本以及最终输出的 .docx 文件,一律必须放入上述临时目录中,严禁留在项目根目录或其他位置。
第二步:整理并写入 Markdown 文件到临时目录
使用 markitdown 技能阅读输入文件。如果需要生成额外的调试文件或提取中间文本,必须将它们一并写入第一步创建的临时目录中。最终整理成以下格式的 Markdown 文件,并保存到临时目录中。
---
doc_number: 岭院函〔2026〕1号
recipients: 各相关单位
signer: 中山大学岭南学院
date: 2026年4月4日
contact: 张三,联系电话:020-84112188
attachments:
- 附件一名称
---
# 关于开展年度工作总结的通知
正文第一段。
## 一、一级标题
正文内容。
### (一)二级标题
正文内容。
第三步:进入临时目录并生成公文
示例操作:
cd gongwen-lingnan-1-temp/$timestamp
node .claude/skills/gongwen-lingnan-1/scripts/gongwen_docx.js --md input.md -o 输出.docx
说明:脚本依赖(docx、jszip)已预装在 skill 目录下,无需额外全局安装,也无需复制脚本到项目目录。
第四步:告知用户输出位置
生成完成后,必须在回复中明确告知用户最终文件存放的完整路径。例如:
公文已生成,保存在:gongwen-lingnan-1-temp/20250415-143022/输出.docx
命令行参数
| 参数 | 说明 |
|---|
--md <path> | 输入 Markdown 文件(受控格式) |
--input <path> | 输入 JSON 或 Markdown 文件 |
-o, --output <path> | 输出文件路径(默认:示例公文.docx) |
--title <text> | 标题 |
--doc-number <text> | 文号 |
--recipients <text> | 主送机关 |
--body <text> | 正文(多段用换行分隔) |
--attachment <text> | 附件名称(可多次传入) |
--signer <text> | 发文单位 |
--date <text> | 发文日期 |
--contact <text> | 联系人信息 |
JSON 输入格式
{
"title": "关于开展年度工作总结的通知",
"doc_number": "岭院函〔2026〕1号",
"recipients": ["各相关单位"],
"body": [
"为全面总结年度工作成果,梳理经验做法,现就有关事项通知如下。",
"一、总体要求",
"(一)突出重点。各单位要围绕中心任务,突出亮点工作。",
"1. 做到数据准确、材料完整。",
"(1)按时报送,总结材料不超过三页。",
"请于2月15日前报送电子版材料。"
],
"attachments": ["年度工作总结模板"],
"signer": "中山大学岭南学院",
"date": "2026年4月4日",
"contact": "张三,联系电话:020-84112188"
}
格式规范
页面设置
- 纸张:A4(11906 × 16838 DXA)
- 上边距:2098 DXA,下边距:2041 DXA
- 左右边距:各 1588 DXA
- 页眉距离:851 DXA,页脚距离:1644 DXA
字体与字号
- 标题:方正小标宋简体 22pt 居中
- 文号:仿宋_GB2312 16pt 右对齐
- 正文:仿宋_GB2312 16pt,27磅固定行距,首行缩进2字符
- 一级标题(## 前缀):黑体 16pt
- 二级及以下标题(### 及更深):仿宋_GB2312 16pt
- 公开方式:「公开方式」黑体,「依申请公开」仿宋_GB2312,四号字(14pt)
- ASCII 字符统一使用 Times New Roman
段落排版
- 行距:27磅固定行距(540 twips)
- 首行缩进:2字符(640 twips)
- 落款:发文单位右缩进 1247 twips 右对齐
- 日期:居中对齐在发文单位下方(自动计算右缩进)
文档结构
- 文号(可选,右对齐)
- 空行
- 标题(居中,方正小标宋简体)
- 空行
- 主送机关(左对齐)
- 正文段落
- 附件(可选)
- 空行
- 发文单位(右对齐)
- 日期(右对齐,居中于发文单位下方)
- 联系人(可选)
- 公开方式说明
环境要求
- Node.js 14+
- 无需 Microsoft Word 或 pywin32
docx 与 jszip 已预装在 skill 目录,直接通过绝对路径调用脚本即可
作者
梁佳仪