技能简介
该技能支持对.docx格式文档进行完整操作,包括新建文档、内容编辑、修订追踪、批注添加及文本提取。通过多种工具链组合,可处理从简单文本读取到复杂格式保留的各类场景。
业务背景
该技能满足企业日常办公中Word文档的全生命周期管理需求。无论是从零起草合同协议、批量提取历史文档关键信息,还是以修订模式协作审阅报告,均可在保留格式与痕迹的前提下完成,避免传统手工操作导致的版本混乱与内容丢失风险。
落地案例:法务团队收到合作方发来的合同草案后,需提出修改意见并留痕备查。使用该技能,先将对方docx文件解包读取,在Python脚本中定位争议条款并插入修订标记,再打包生成带修订痕迹的新文档返回。全程不覆盖原文件,修改点一目了然,便于后续谈判对照。
能做什么
- 从零创建结构化Word文档
- 读取并分析现有文档内容与元数据
- 以修订模式编辑他人文档,保留修改痕迹
- 提取批注、媒体文件等嵌入资源
- 将文档转换为Markdown格式查看变更
使用说明
安装准备
本技能依赖以下组件,需提前配置:
- Node.js环境(用于docx-js创建文档)
- Python 3.x(用于OOXML编辑操作)
- pandoc(用于文档格式转换)
使用流程
1. 仅读取文本:执行 pandoc --track-changes=all 文件.docx -o 输出.md
2. 创建新文档:先完整阅读 docx-js.md 文件,再用JavaScript/TypeScript编写脚本,通过Document、Paragraph、TextRun组件构建内容,最后用Packer.toBuffer()导出
3. 编辑现有文档:先完整阅读 ooxml.md 文件,依次执行解包→Python脚本编辑→打包三步:python ooxml/scripts/unpack.py 源文件 输出目录 → 编辑 → python ooxml/scripts/pack.py 输入目录 目标文件
4. 法律/商务文档修订:采用Redlining工作流,将相关修改按3-10条分批处理,每批测试后再进行下一批,确保只标记实际变更的文本
输入与输出
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | 本地.docx文件、创建/编辑需求描述、修订指令、Python/JS脚本 |
| 输出 | 新生成文档、Markdown文本、带追踪修订的docx、提取的媒体文件 |
| 适用人群 | 法务/学术文档处理者、自动化报告生成开发者、数据提取工程师 |
| 不包含 | 旧版.doc格式、PDF转换、多人实时协作、在线云文档服务 |
风险提示
- 编辑前必须完整阅读对应技术文档(docx-js.md或ooxml.md),禁止设置读取范围限制
- 处理他人文档时默认使用Redlining工作流,避免直接覆盖原始内容
- 修订追踪需精确控制标记范围,重复未变更文本会降低可读性
- 批量修改建议分小批次执行,便于定位问题
来源信息
原始链接:https://github.com/openclaw/skills/tree/main/skills/seanphan/docx/SKILL.md
来源类型:GitHub仓库
