安装方式
手动下载安装
下载 ZIP 后解压到技能目录即可安装。若在桌面客户端 WebView中直接下载出现异常,本站会改为提示页 + 原始链接,请按页内说明操作。
下载 ZIP (oss-anthropic-docx-v1.0.0.zip)触发指令
/docx
使用指南
Word(DOCX)的创建、编辑与分析
.docx 本质是 ZIP + 内嵌 XML。适用于:新建/读取/编辑 Word、目录与页码、信纸抬头、从 docx 抽取或重组内容、插图、查找替换、修订与批注、将内容整理成正式 Word 文档等。不用于 PDF、电子表格、Google Docs 或与写文档无关的纯编程任务。
速查
| 任务 | 做法 |
|------|------|
| 读/分析 | pandoc 或解包看 XML |
| 新建 | docx-js(npm install -g docx),见下文要点 |
| 改已有稿 | 解包 → 改 XML → 再打包 |
老版 .doc 转 .docx
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/
转图片(便于目视检查)
python scripts/office/soffice.py --headless --convert-to pdf document.docx
pdftoppm -jpeg -r 150 document.pdf page
接受所有修订(需 LibreOffice)
python scripts/accept_changes.py input.docx output.docx
新建文档(docx-js)
用 JavaScript 生成 .docx,生成后 必须校验;失败则解包修 XML 再打包。
python scripts/office/validate.py doc.docx
页面尺寸(极其重要)
docx-js 默认 A4,不是美标 Letter。 美标请显式设置(单位 DXA,1440 DXA = 1 英寸):
- US Letter:宽
12240,高15840,四边边距常用各1440(1 英寸)。 - 横向:仍传入「竖向」宽高数值,并设
orientation: PageOrientation.LANDSCAPE,由库内部交换。
样式与标题
- 默认正文字体可用 Arial,标题保持黑色易读。
- 覆盖内置标题样式时 id 必须精确:
Heading1、Heading2…,并设outlineLevel,否则目录(TOC)异常。
列表
禁止手写 • 或 Unicode 项目符号字符。应使用 numbering + LevelFormat.BULLET / DECIMAL。同一 reference 连续编号;不同 reference 会重新从 1 开始。
表格
- 表宽用
WidthType.DXA,不要用百分比(Google Docs 等会坏)。 - 同时设置
columnWidths与每个单元格的width,且列宽之和等于表宽。 - 底纹用
ShadingType.CLEAR,不要用易出黑底的SOLID。 - 给单元格加
margins做内边距。 - 不要用表格当分隔线:空表会显示成难看条块;改用段落
border或制表位。
图片
ImageRun 必须 指定 type(png/jpg/…),并填齐 altText 的 title/description/name。
分页
PageBreak 必须放在 Paragraph 的 children 里,不能单独悬空,否则 XML 无效。
目录
TOC 要求标题段 只用 HeadingLevel,不要只靠自定义样式名。
其它要点
- 不要用
\n拼段落,应多个Paragraph。 - 脚注、超链接、制表位、多栏等见上游英文
SKILL.md中的完整代码块。
编辑已有文档(三步)
1. 解包
python scripts/office/unpack.py document.docx unpacked/
会整理 XML、合并相邻 run、把弯引号转成实体等。需要保留原始 run 结构时加 --merge-runs false。
2. 编辑 unpacked/word/ 下 XML
- 修订、批注的作者名默认用 「Claude」,除非用户指定。
- 字符串级替换请直接用编辑工具,不要为小事写 Python 脚本。
- 新增正文中的弯引号请用 XML 实体:
’(右单引)、“/”(双引号)等。 - 批注可借助
comment.py(详见上游英文文档)。
3. 打包
python scripts/office/pack.py unpacked/ output.docx --original document.docx
含校验与自动修复(部分问题可修,结构性错误需人工改)。可 --validate false 跳过校验。
常见坑
- 插入修订时 整段替换
w:r,不要把修订标签插在 run 中间弄碎结构。 - 保留原 run 的
w:rPr(粗体、字号等)到新的修订 run 里。
XML 与修订(摘要)
- 元素顺序、
xml:space="preserve"、RSID 格式等须符合 Word OOXML 约定。 - 插入用
w:ins,删除用w:del;段落内用w:delText等。 - 删整段 时还要处理段落标记上的删除标记,否则接受修订后会留下空段落。
- 批注范围标记
commentRangeStart/End与w:r同级,不要塞在w:r里面。
更完整的 XML 样例(修订嵌套、图片 relationship、多栏等)见上游仓库英文 SKILL.md。
依赖
- pandoc:文本抽取
- docx:
npm install -g docx - LibreOffice:PDF 转换等(
scripts/office/soffice.py) - Poppler:
pdftoppm
许可证以上游 LICENSE.txt 为准。