用途:处理 Word 文档(.docx),包括读取分析、新建、编辑、修订与格式转换。.docx 本质是包含 XML 的 ZIP 压缩包。
主要能力:用 pandoc 提取文本(含修订:pandoc --track-changes=all document.docx -o output.md);用 unpack.py 获取原始 XML;用 docx-js 新建文档;解包→编辑 XML→重新打包来编辑现有文档;用 accept_changes.py 接受全部修订;用 soffice.py 转换 .doc 为 .docx,或转 PDF 后用 pdftoppm 转图片。
使用方式:新建文档需 npm install -g docx,生成后用 python scripts/office/validate.py doc.docx 校验,失败则解包修复 XML 再打包。编辑流程三步:python scripts/office/unpack.py document.docx unpacked/;编辑 unpacked/word/ 下 XML;python scripts/office/pack.py unpacked/ output.docx --original document.docx。旧版 .doc 先转换:python scripts/office/soffice.py --headless --convert-to docx document.doc。
关键限制:docx-js 默认 A4,需显式设置页面尺寸;表格须同时设置 columnWidths 与单元格宽度,且用 WidthType.DXA;表格底纹用 ShadingType.CLEAR;列表用 LevelFormat.BULLET 而非 Unicode 符号;PageBreak 须置于 Paragraph 内;ImageRun 必须指定 type;目录要求标题仅用 HeadingLevel。修订与批注默认作者为 Claude。自动修复仅处理 durableId 与 xml:space,不修复格式错误、非法嵌套或架构违规。依赖 pandoc、docx、LibreOffice、Poppler。