SuperAPI AI 工具集

docx

办公与效率

查看项目

更新于 10-24 17:20

技能介绍

DOCX 技能用于创建、编辑和分析 .docx 文件。其核心思路是把 .docx 视为 ZIP 归档,内部包含 XML 文件与其他资源,因此既可做文本层面的提取,也可直接操作底层 XML。

用途与工作流选择:仅需读取或分析内容时,可用文本提取或原始 XML 访问;需要从零创建文档时,走新建 Word 文档流程;编辑自己文档的简单改动可用基础 OOXML 编辑;编辑他人文档建议采用 redlining(修订)流程,法律、学术、商务或政府文档则要求使用该流程。

内容读取与分析:文本提取通过 pandoc 将文档转为 markdown,可保留文档结构并显示修订:pandoc --track-changes=all path-to-file.docx -o output.md,--track-changes 支持 accept/reject/all。若需处理批注、复杂格式、文档结构、嵌入媒体与元数据,则需解包文档读取原始 XML,命令为 python ooxml/scripts/unpack.py <office_file> <output_directory>。关键结构包括 word/document.xml(正文)、word/comments.xml(批注)、word/media/(嵌入媒体);修订使用 <w:ins> 与 <w:del> 标签。

创建新文档:使用 docx-js,以 JavaScript/TypeScript 的 Document、Paragraph、TextRun 组件构建,并通过 Packer.toBuffer() 导出 .docx。资料要求先完整阅读 docx-js.md(约 500 行),不得设置读取范围限制。

编辑现有文档:使用 Python 的 Document 库处理 OOXML,先完整阅读 ooxml.md(约 600 行),再解包、编写并运行 Python 脚本,最后用 pack.py 重新打包。该库既提供常用操作的高层方法,也允许直接访问 DOM 处理复杂场景。

Redlining 审阅流程:先用 pandoc 生成保留修订的 markdown 表示,识别并分组全部所需修改;定位可依据章节/标题编号、段落标识、唯一上下文 grep 或文档结构,不使用 markdown 行号。修改按每批 3-10 项分组实施,可按章节、类型、复杂度或顺序组织。原则是最小精确编辑:只标记真正变化的文本,未变文本保留原始 <w:r> 与 RSID,例如把“30 days”改为“60 days”时只删除“30”、插入“60”。每批修改前 grep word/document.xml 确认文本拆分方式,运行脚本后用 doc.save() 保存;全部完成后打包,并再次转 markdown 验证原短语已消失、替换短语存在且无意外改动。

视觉分析:可先用 soffice --headless --convert-to pdf document.docx 转 PDF,再用 pdftoppm -jpeg -r 150 document.pdf page 生成分页图片,支持 -r 分辨率、-jpeg/-png、-f 起始页、-l 结束页等参数。

依赖包括 pandoc、docx(npm install -g docx)、LibreOffice、Poppler(poppler-utils)与 defusedxml。资料未提供收费、价格或平台限制信息。