用途:创建、编辑和分析 .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 <input.docx> <output_dir>),关键文件包括 word/document.xml、word/comments.xml、word/media/,修订使用 <w:ins> 与 <w:del> 标签。新建文档用 docx-js(JavaScript/TypeScript),以 Document、Paragraph、TextRun 组件编写并用 Packer.toBuffer() 导出。编辑已有文档用 Python 的 Document 库操作 OOXML,流程为解包、编写并运行脚本、再用 python ooxml/scripts/pack.py <unpacked_dir> <output.docx> 打包。
审阅场景推荐“红线”工作流:先用 pandoc 保留修订转 markdown,按章节/类型/邻近度把 3-10 处相关改动分批,逐批实现并测试;只标记真正变化的文本,保留未变文本的原始 RSID,例如把“30 days”改为“60 days”应写成“The term is <w:del>30</w:del><w:ins>60</w:ins> days.”。法律、学术、商业或政府文档必须使用该工作流。完成后打包并再次转 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 文档。