用途
该技能用于在使用 AI 助手时创建、读取、编辑或操作 Word 文档(.docx 文件)。触发条件包括任何对“Word doc”“word”等的提及,或需要处理 .docx 文件的场景。
核心概念
一个 .docx 文件本质上是一个包含 XML 文件的 ZIP 压缩包。技能围绕这一结构组织操作方式。
主要能力与操作方式
技能以速查表形式给出不同任务的对应方法:
- 读取/分析内容:使用 pandoc 或解包获取原始 XML。
- 创建新文档:使用 docx-js。
- 编辑现有文档:解包 → 编辑 XML → 重新打包。
- 转换 .doc 为 .docx:旧版 .doc 文件必须先转换才能编辑,命令为
python scripts/office/soffice.py --headless --convert-to docx document.doc。
读取内容:可用 pandoc --track-changes=all document.docx -o output.md 提取文本(含修订),或用 python scripts/office/unpack.py document.docx unpacked/ 访问原始 XML。
转换为图片:先用 soffice 转为 PDF,再用 pdftoppm 转为图片。
接受修订:python scripts/accept_changes.py input.docx output.docx(需要 LibreOffice)。
创建新文档:用 JavaScript 生成 .docx 文件,然后校验。安装命令为 npm install -g docx。技能给出了从 docx 库导入的完整模块列表、创建 Document 与使用 Packer 写出文件的示例,以及校验命令 python scripts/office/validate.py doc.docx。若校验失败,则解包、修复 XML、重新打包。
技能还详细列出了页面尺寸(docx-js 默认 A4,非美式 Letter,建议显式设置;给出美式 Letter、A4 的 DXA 尺寸与内容宽度;横向时传入纵向尺寸并设置 orientation)、样式(用 Arial 默认字体,用精确 ID 覆盖内置标题样式,outlineLevel 为目录所需)、列表(禁止使用 unicode 项目符号,使用 LevelFormat.BULLET 与编号配置,并说明相同 reference 续号、不同 reference 重新编号)、表格(需双重宽度设置,使用 DXA 而非百分比,ShadingType.CLEAR,单元格边距等)、图片(type 参数必需,altText 三项必需)、分页、超链接(外部与内部书签)、脚注、制表位(含点引导)、多栏布局、目录、页眉页脚,以及一份“docx-js 关键规则”清单。
编辑现有文档
分为三步:解包、编辑 XML、打包。
解包使用 unpack.py,会提取 XML、格式化、合并相邻 run,并将弯引号转为 XML 实体。可用 --merge-runs false 跳过 run 合并。
编辑 XML 时编辑 unpacked/word/ 下的文件。修订和批注的作者默认使用“AI Assistant”,除非用户明确要求其他名称。建议直接使用 Edit 工具做字符串替换,不写 Python 脚本。新增内容使用弯引号,通过 XML 实体实现,并给出实体对照表(左右单引号、左右双引号)。添加批注用 comment.py 处理多文件样板,命令示例包括添加批注、回复批注、自定义作者,然后在 document.xml 中加入标记。
打包使用 pack.py,会校验并自动修复、压缩 XML、生成 DOCX。可用 --validate false 跳过校验。自动修复能处理 durableId 越界和缺失 xml:space="preserve";不能修复格式错误的 XML、非法元素嵌套、缺失关系、模式违规。
常见陷阱:添加修订时应替换整个 <w:r> 元素,将 <w:del>...<w:ins> 作为兄弟节点;不要把修订标记注入 run 内部;保留 <w:rPr> 格式。
XML 参考
模式合规:<w:pPr> 中元素顺序为 <w:pStyle>、<w:numPr>、<w:spacing>、<w:ind>、<w:jc>、<w:rPr> 最后;空白处加 xml:space="preserve";RSID 须为 8 位十六进制。
修订操作给出插入、删除的 XML 写法;在 <w:del> 内使用 <w:delText> 代替 <w:t>,用 <w:delInstrText> 代替 <w:instrText>。强调最小化编辑,只标记变更部分;删除整段/列表项时还要把段落标记标为删除,否则接受变更后会留下空段;拒绝他人插入时把删除嵌套在其插入内;以及还原他人删除的写法。
适用场景
需要创建、读取、编辑或操作 Word 文档(.docx)的场景,包括内容读取分析、新文档生成、现有文档 XML 级编辑、修订处理、批注、格式转换与图片导出等。
限制
部分操作依赖特定工具,如接受修订需要 LibreOffice;打包的自动修复存在明确边界,无法修复格式错误 XML、非法嵌套、缺失关系和模式违规。官方介绍中未提供关于收费、价格、平台覆盖范围或效果的更多信息。