用途
docx 技能提供以编程方式创建和操作 Word 文档的专业能力,覆盖文档生成、模板填充、样式管理和批量文档处理,主要依赖 python-docx 与 JavaScript 相关的 docx 库。
主要能力
- 编程式生成 Word 文档
- 用数据填充文档模板
- 修改已有的 .docx 文件
- 从 Word 文档中提取内容
- 应用样式与格式
- 创建邮件合并工作流
- 将数据转换为带格式的文档
使用方式
在该技能适用的场景下调用,包括:编程式生成 Word 文档、用数据填充文档模板、修改已有 .docx 文件、从 Word 文档中提取内容、自动化文档工作流。
不应调用的场景包括:撰写文档内容(应使用 document-writer)、创建 PDF(应使用 pdf-skill)、创建电子表格(应使用 xlsx-skill)、创建演示文稿(应使用 pptx-skill)。
库选择决策框架
- Python 后端 → python-docx
- Node.js 后端 → docx(npm)
- 浏览器端 → docx.js
- 复杂模板 → docxtemplater
- 简单文本提取 → mammoth
任务类型决策框架
- 从零生成 → 以编程方式构建文档
- 填充模板 → 使用占位符替换
- 修改已有文档 → 加载、编辑、保存
- 批量处理 → 配合模板循环处理
核心工作流
-
文档生成(python-docx):创建 Document 对象;添加带级别的标题;添加带文本的段落;应用样式(内置或自定义);按需添加表格;插入图片;保存文档。
-
模板处理:加载模板文档;查找占位符({{variable}});替换为实际值;处理条件区块;处理重复区块;另存为新文档。
-
批量文档生成:加载一次模板;遍历数据记录;为每条记录克隆模板;填充占位符;生成唯一文件名;逐个保存文档。
最佳实践
- 使用段落样式,而非直接格式化
- 用占位符创建可复用模板
- 优雅处理缺失的占位符值
- 保留原始模板,保存到新文件
- 用复杂内容(表格、图片)进行测试
- 验证输出能正确打开
反模式
- 直接格式化:难以维护,应改用样式
- 修改模板:会损坏原始文件,应保存到新文件
- 无错误处理:遇到错误输入会失败,应先校验数据
- 硬编码路径:不可移植,应使用相对路径
- 忽略编码:会产生字符问题,应使用 UTF-8 字符串
适用场景与限制
该技能适用于需要程序化处理 Word 文档的开发与自动化场景,例如从数据生成报告、批量填充合同或表单模板、修改和提取既有文档内容等。具体支持的平台、收费方式、价格、效果或使用步骤在现有资料中暂未提供。