用途:创建、编辑和分析 .docx 文件。.docx 本质是包含 XML 与资源的 ZIP 包,可按任务选择不同工作流。
主要能力:读取/分析内容时,用 pandoc 转 Markdown(pandoc --track-changes=all path-to-file.docx -o output.md,可选 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() 导出)。编辑已有文档用 Python 的 Document 库,解包后写脚本再打包(python ooxml/scripts/pack.py <input_directory> <office_file>)。
审阅场景:他人文档或法律、学术、商业、政府文档推荐/必须使用 Redlining 工作流,先转 Markdown 规划修订,再分批(每批 3-10 处)实现,只标记真正变化的文本并保留未变部分的原始 <w:r> 与 RSID,最后打包并转 Markdown 校验。
视觉分析:soffice --headless --convert-to pdf document.docx 转 PDF,再用 pdftoppm -jpeg -r 150 document.pdf page 转图片,支持 -f/-l 指定页范围。
依赖:pandoc、docx(npm install -g docx)、LibreOffice、Poppler、defusedxml。限制:需按文档要求完整阅读 docx-js.md 与 ooxml.md;Markdown 行号不映射 XML 结构,不应据此定位;每次写脚本前需重新 grep 确认行号。