docx
当用户想要创建、读取、编辑或操作 Word 文档(.docx 文件)或 Word 模板(.dotx 文件)时,使用此技能。触发条件包括:任何提到“Word 文档”、“word document”、“.docx”、“.dotx”,或要求生成带
技能说明anthropics/skills
当用户想要创建、读取、编辑或操作 Word 文档(.docx 文件)或 Word 模板(.dotx 文件)时,使用此技能。触发条件包括:任何提到“Word 文档”、“word document”、“.docx”、“.dotx”,或要求生成带有目录、标题、页码或信头等格式的专业文档。也用于从 .docx 或 .dotx 文件中提取或重新组织内容、在文档中插入或替换图片、在 Word 文件中执行查找替换、处理修订或批注,或将内容转换为精美的 Word 文档时使用。
技能简介
docx 技能用于创建、读取、编辑和操作 Word 文档(.docx)及 Word 模板(.dotx)。它结合 docx(npm)脚本和底层 XML 编辑机制,解决程序化生成专业 Word 文档、处理现有文档内容等需求。
使用场景
- 生成带目录、标题、页码、信头等格式的专业 Word 文档(报告、备忘录、信件等)
- 从 .docx/.dotx 提取或重组内容,执行查找替换、插入/替换图片
- 处理文档修订(tracked changes)和批注
- 将内容转换为排版精美的 Word 文档
- 读取 .docx 内容并转为 Markdown 等格式
使用方法
创建新文档:直接使用预装的 docx npm 包编写脚本,require('docx') 即可;如加载失败再执行 npm install docx。
读取内容:
pandoc -t markdown file.docx
编辑现有文档(.doc 需先转为 .docx:python scripts/office/soffice.py --headless --convert-to docx file.doc):
unzip -q doc.docx -d unpacked/
find unpacked -type l -delete # 删除符号链接
python scripts/merge_runs.py unpacked/ # 合并碎片化 runs
# 编辑 unpacked/word/document.xml,勿美化格式
(cd unpacked && rm -f ../out.docx && zip -Xr ../out.docx .)
python scripts/office/validate.py out.docx --original doc.docx
渲染校验:
python scripts/office/soffice.py --headless --convert-to pdf output.docx
pdftoppm -jpeg -r 100 output.pdf page
ls page-*.jpg
接受全部修订:python scripts/accept_changes.py in.docx out.docx
注意事项
- 页面默认 A4,US Letter 需设置
page.size(DXA,1440 = 1 英寸)。 - 表格需同时设置
columnWidths和单元格width,均用WidthType.DXA。 - 列表不要直接插
•,用 numbering 配置;换行用独立Paragraph,勿用\n。 - 目录标题必须用内置
HeadingLevel.*,自定义样式需设outlineLevel。 - 编辑
document.xml时不要重新格式化;来自外部的 .docx 可能含符号链接条目,需先删除再处理。