第15讲:Word 文档处理 Skill 开发
掌握 Word 文档的自动化处理技能,实现文档生成、格式调整、内容提取等操作,大幅提升文档处理效率。
一、场景分析
1.1 用户痛点
Word 是办公中最常用的文档工具,但重复性工作很多:
- 文档生成耗时:合同、报告、通知等需要反复编写相似内容
- 格式调整繁琐:统一全文字体、段落、标题样式费时费力
- 模板填充低效:邮件合并、批量生成文档操作复杂
- 内容提取困难:从大量文档中提取特定信息效率低
- 批量处理不便:多个文档需要统一修改格式或内容
1.2 典型应用场景
| 场景 | 需求描述 | Skill 价值 |
|---|---|---|
| 合同生成 | 根据模板和数据批量生成合同 | 一键批量生成 |
| 报告撰写 | 自动整理数据并生成分析报告 | 数据自动填充 |
| 通知发布 | 批量生成个性化通知文档 | 邮件合并功能 |
| 文档归档 | 提取文档关键信息建立索引 | 内容智能提取 |
| 格式统一 | 批量修改文档格式和样式 | 自动化格式调整 |
二、核心功能设计
2.1 Skill 功能架构
1 | 📝 Word 智能助手 |
2.2 技术选型
Word 处理的核心技术栈:
| 功能 | Python 库 | 说明 |
|---|---|---|
| Word 操作 | python-docx | 创建、修改 Word 文档 |
| 模板处理 | docxtpl | 基于 Jinja2 的模板填充 |
| 格式转换 | pandoc / LibreOffice | 格式互转 |
| 内容提取 | python-docx / textract | 提取文字、表格 |
三、技术实现
3.1 Coze 平台实现
3.1.1 基础操作代码
创建 Word 文档:
1 | from docx import Document |
添加表格:
1 | def add_table(doc, data, style='Light Grid Accent 1'): |
添加图片:
1 | def add_image(doc, image_path, width=None, height=None): |
3.1.2 模板填充代码
使用 docxtpl 进行模板填充:
1 | from docxtpl import DocxTemplate |
模板示例:
1 | 合同编号:{{ contract_no }} |
3.1.3 邮件合并代码
1 | def mail_merge(template_path, data_list, output_prefix): |
3.1.4 格式设置代码
设置段落格式:
1 | from docx.shared import Pt, Inches |
设置页面布局:
1 | from docx.shared import Inches |
3.2 OpenClaw 平台实现
OpenClaw 的 Word Skill 示例:
1 | from openclaw import Skill, Tool |
四、Prompt 设计
4.1 系统 Prompt
1 | 你是 Word 智能助手,专门帮助用户自动化处理 Word 文档。 |
4.2 意图识别示例
| 用户输入 | 识别意图 | 提取参数 |
|---|---|---|
| “帮我生成一份合同” | 文档生成 | 合同类型、关键信息 |
| “用模板批量生成邀请函” | 邮件合并 | 模板路径、收件人列表 |
| “把这几个 Word 合并成一个” | 文档合并 | 文件列表 |
| “统一调整文档格式” | 格式调整 | 文件路径、格式要求 |
| “提取这个文档里的表格” | 内容提取 | 文件路径、提取类型 |
五、实战案例
5.1 案例一:合同批量生成
场景:法务部门需要根据客户信息批量生成销售合同。
解决方案:
1 | def batch_generate_contracts(customer_data, template_path): |
5.2 案例二:报告自动生成
场景:需要根据数据自动生成分析报告。
解决方案:
1 | def generate_report(data, analysis_result, output_path): |
六、实战练习
练习 1:合同生成器
创建一个 Skill,实现以下功能:
- 提供合同模板
- 接收客户信息(公司名称、联系人、金额等)
- 自动填充模板生成合同
- 保存为 Word 文档
练习 2:批量邀请函
创建一个 Skill,实现以下功能:
- 读取嘉宾名单(Excel 或 CSV)
- 使用邀请函模板
- 批量生成个性化邀请函
- 保存为单独的 Word 文件
练习 3:文档格式统一
创建一个 Skill,实现以下功能:
- 接收 Word 文档或文件夹
- 统一设置字体(正文宋体小四,标题黑体)
- 统一设置行间距(1.5倍)
- 统一设置页边距
- 保存修改后的文档
七、常见问题
Q1:中文字体显示异常怎么办?
解决方案:
- 明确设置中文字体名称
- 使用
qn('w:eastAsia')设置东亚字体 - 确保系统安装了相应字体
Q2:如何保留原模板的样式?
解决方案:
- 使用
docxtpl而不是直接操作python-docx - 在模板中预定义好样式
- 只填充变量内容,不修改样式
Q3:批量处理大量文档时内存不足?
解决方案:
- 分批处理,处理完一批保存一批
- 及时关闭不再使用的文档对象
- 考虑使用生成器模式
八、下节预告
下一讲我们将学习 OCR 文字识别 Skill 开发,包括:
- 图片文字识别
- PDF 扫描件识别
- 表格识别与提取
- 批量 OCR 处理
加入学习群

本讲是《AI Skills 从入门到实践》系列课程的第15讲。