用途:处理 .docx 文件。.docx 本质是含 XML 与资源的 ZIP 包,因此可通过文本提取、原始 XML 访问或红线(修订)流程来创建、编辑和分析 Word 文档。
主要能力:读取与分析内容;创建新文档;编辑现有文档;实现跟踪修订与批注;保留格式;提取文本。
使用方式:
- 读取文本: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,先完整阅读 docx-js.md,再用 Document、Paragraph、TextRun 组件导出 .docx(Packer.toBuffer())。
- 编辑现有文档:使用 Document 库,先完整阅读 ooxml.md;解包、写 Python 脚本、再 python ooxml/scripts/pack.py <input_directory> <office_file> 打包。
- 红线流程:转 markdown 规划全部修订,按每批 3-10 处分组实施,只标记真正变化,保留未变文本的原始 <w:r> 与 RSID,最后打包并做验证(转 markdown、grep 原句与替换句)。
- 转图片:soffice --headless --convert-to pdf document.docx,再 pdftoppm -jpeg -r 150 document.pdf page。
适用场景:法律、学术、商务或政府文档;他人文档的审阅修订;复杂格式、批注、嵌入媒体与元数据处理。
限制:相关 docx-js.md 与 ooxml.md 须完整阅读后再操作;不要用 markdown 行号定位 XML;复杂场景可直接访问底层 DOM;依赖包括 pandoc、docx(npm install -g docx)、LibreOffice、Poppler、defusedxml。文档中提及科学图表生成脚本与其输出目录,但该部分依赖另一技能,具体能力与效果暂未提供。