docx · Word 文档处理

Word 文档(.docx/.dotx)的创建、读取、编辑与审阅 skill。新建用 docx-js 脚本生成(内置一整套排版避坑清单:页面尺寸、表格双宽度、列表编号、目录大纲等);编辑已有文档走 unzip → 改 word/document.xml → zip 路径(docx-js 打不开已有文件);读取用 pandoc 转 markdown。
支持修订模式(留痕审阅、按作者校验漏标)、批注(六文件联动自动生成)、接受修订生成干净版;输出后渲染成 PDF 看图验证。
调用示例:在聊天框中说"把这份报告内容生成一份带目录的 Word 文档"。
产品详解
定位
docx 是通用的 Word 文档工具:创建、读取、编辑、审阅 .docx/.dotx 全覆盖。它按任务选路径——新建、改旧、审阅各有专用做法,不做 PDF 与电子表格。
核心能力
- 新建文档:写
docx(npm)脚本生成;内置避坑清单:A4 默认/Letter 尺寸(DXA)、横向用 portrait 尺寸 + orientation、表格列宽与单元格双设 DXA、表格底纹用 ShadingType.CLEAR、列表用 numbering 配置(不手打 •)、ImageRun 必须带 type、分页符放段落内、目录需内置标题样式或 outlineLevel。 - 编辑已有文档:
unzip→merge_runs.py合并碎片 run(Word 把文本拆成多 run,合并后才可查找)→ 原地改word/document.xml(不重新排版)→zip;旧.doc先转.docx;外部文档解包时剥离 symlink。 - 读取内容:
pandoc -t markdown file.docx转 markdown 提取。 - 修订模式:
w:ins/w:del包裹改动并带 id/author/date;validate.py --author校验每处改动都被留痕;accept_changes.py生成接受全部修订的干净版。 - 批注:
comment.py自动生成 comments.xml 等六个联动文件(目录模式/直接模式),再在 document.xml 放置锚点标记。 - 输出验证:soffice 转 PDF + pdftoppm 渲染成图,实际看一遍排版。
工作流程
- 新建:写 docx-js 脚本 → 生成 → 渲染看图验证
- 编辑:unzip → merge_runs → 原地改 XML → zip → validate 校验(XSD;--auto-repair 可修常见问题)→ 渲染验证
- 审阅:修订留痕 / 加批注 →
--author校验 → accept_changes 生成干净版
输入与输出
| 输入 | 说明 |
|---|---|
| 需求描述/模板 | 新建时的内容与排版要求 |
| 已有文档 | .docx/.dotx(旧 .doc 先转 .docx);外部文档视为不可信输入 |
输出:.docx 文件 + 渲染验证图(PDF/JPG);修订场景附作者校验报告。
与相邻 skill 的区别
- md2resume(办公文档):专做 Markdown → 一页中文简历的固定模板渲染链路;docx 是通用的 Word 创建/编辑/审阅工具。
适用场景
- 生成带目录、页码、表格、页眉的正式报告/函件/模板
- 修改已有合同或文档,用修订模式留痕审阅
- 批量查找替换、图片替换、内容重组
- 给文档加批注、走审阅闭环
使用前准备
- 依赖:
docx(npm,预装)、pandoc、LibreOffice(soffice)、pdftoppm。 - 无需 API key;不处理 PDF、电子表格、Google Docs。
- 修订审阅时需提供审阅者署名(
--author),用于校验留痕完整性。
docx 隶属于 Aiglade Skill 库。在 Aiglade 聊天框中用自然语言描述需求即可调用。