
DOCX
当用户需要创建、读取、编辑或处理 Word 文档(.docx)时,使用此技能。触发场景包括提到“Word...
Install
npx skills add agentscope-ai/QwenPaw --skill docx -g -a claude-code -y- Repository
- agentscope-ai/QwenPaw37.1k
- Category
- Documents
- Updated
- 5d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- Yes, review before use
What it does
当用户需要创建、读取、编辑或处理 Word 文档(.docx)时,使用此技能。触发场景包括提到“Word 文档”、“.docx”,或要求生成带目录、标题、页码、信头等格式的专业文档;也包括提取或重组 .docx 内容、插入或替换图片、在 Word 文件中查找替换、处理修订或批注,以及将内容整理为正式 Word 文档。如果用户要求生成“报告”“备忘录”“信函”“模板”等 Word / .docx 交付物,也应使用此技能。不要用于 PDF、电子表格、Google Docs,或与文档生成无关的一般编程任务。
重要: 所有
scripts/路径均相对于本技能目录。 运行方式:cd {this_skill_dir} && python scripts/...或使用execute_shell_command的cwd参数。
DOCX 创建、编辑与分析
前置依赖
- docx (
npm install -g docx): 新文档创建 - LibreOffice (
soffice):.doc->.docx转换、修订接受和 PDF 导出 - pandoc: 文本提取
- pdftoppm (poppler-utils): 文档转图片工作流
- 如果
pdftoppm不可用,Python 备用路径可能使用pdf2image。 - 在 Windows 上,依赖项必须已安装并在
PATH中可用;如缺失,请报告依赖问题并停止(不要反复重试)。
概述
.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
# 访问原始 XML
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
创建新文档
使用 JavaScript 生成 .docx 文件,然后进行验证。安装: npm install -g docx
初始设置
const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell, ImageRun,
Header, Footer, AlignmentType, PageOrientation, LevelFormat, ExternalHyperlink,
TableOfContents, HeadingLevel, BorderStyle, WidthType, ShadingType,
VerticalAlign, PageNumber, PageBreak } = require('docx');
const doc = new Document({ sections: [{ children: [/* content */] }] });
Packer.toBuffer(doc).then(buffer => fs.writeFileSync("doc.docx", buffer));
验证
创建文件后进行验证。如果验证失败,解压、修复 XML 并重新打包。
python scripts/office/validate.py doc.docx


