用途:创建、编辑和分析 .docx 文档。.docx 本质是包含 XML 的 ZIP 压缩包,可按任务选择不同工具与流程。
主要能力:文本提取(用 pandoc 转 markdown,支持 --track-changes=accept/reject/all 查看修订);原始 XML 访问(处理批注、复杂格式、结构、嵌入媒体与元数据);新建文档(用 docx-js 以 JavaScript/TypeScript 生成,经 Packer.toBuffer() 导出);编辑现有文档(用 Python Document 库操作 OOXML,必要时直接访问 DOM);修订工作流(用 markdown 规划修订,再在 OOXML 中实现,建议每批 3-10 处改动,只标记真正变化的文本,保留未变文本的原始 RSID);文档转图片(soffice 转 PDF,再用 pdftoppm 转 JPEG 做视觉分析)。
必要用法:解包 python ooxml/scripts/unpack.py <office_file> <output_directory>;打包 python ooxml/scripts/pack.py <input_directory> <office_file>;转 markdown pandoc --track-changes=all path-to-file.docx -o output.md;转 PDF soffice --headless --convert-to pdf document.docx;转图片 pdftoppm -jpeg -r 150 document.pdf page。新建文档前须完整阅读 references/docx-js.md,编辑前须完整阅读 references/ooxml.md。
适用场景:自己的文档做简单修改、他人文档的审阅修订,以及法律、学术、商业或政府文档(要求使用修订工作流)。
限制:依赖 pandoc、docx、LibreOffice、Poppler、defusedxml 等外部依赖;修订需分批实现并逐批验证;markdown 行号不能映射到 XML 结构,需用章节号、段落标识或唯一文本定位;资料未提供收费、价格与平台信息。