用途:创建、读取、编辑和操作 .docx 文件。.docx 本质是包含多个 XML 的 ZIP 压缩包。
主要能力:提取文本(pandoc --track-changes=all document.docx -o output.md)或解包查看原始 XML(python scripts/office/unpack.py document.docx unpacked/);新建文档用 docx-js(npm install -g docx);编辑现有文档采用解包、改 XML、再打包流程;可用 python scripts/office/soffice.py --headless --convert-to pdf 转 PDF 再经 pdftoppm 输出图片;用 accept_changes.py 接受全部修订;完成后用 validate.py 校验。
关键规则:显式设置纸张尺寸(docx-js 默认 A4);表格需同时设置 columnWidths 与单元格 width,宽高用 DXA(禁用 PERCENTAGE);项目符号用 numbering 配合 LevelFormat.BULLET,不可手写 unicode 字符;PageBreak 须置于 Paragraph 内;ImageRun 必须指定 type;表格底纹用 ShadingType.CLEAR;目录标题仅用 HeadingLevel。编辑时优先替换整个 w:r 元素,保留原 w:rPr 格式,新增文本使用智能引号实体。
适用场景:需要程序化生成或批量修改 Word 文档、审阅修订与批注。限制:部分功能依赖 pandoc、LibreOffice、Poppler 等外部工具;自动修复仅覆盖有限问题,对畸形 XML、无效嵌套等不处理。