用途:创建、编辑与分析 .docx 文件。.docx 本质是含 XML 与资源的 ZIP 包,可按任务选择不同工作流。
主要能力:文本提取(pandoc --track-changes=all path-to-file.docx -o output.md);解包读取原始 XML(python ooxml/scripts/unpack.py <office_file> <output_directory>),处理批注、复杂格式、嵌入媒体与元数据;新建文档用 docx-js(配合 bun),以 Document、Paragraph、TextRun 组件构建并 Packer.toBuffer() 导出;编辑已有文档用 OOXML Document 库,先解包、再运行 Python 脚本、最后打包 python ooxml/scripts/pack.py。
批注:推荐 python-docx,可直接对段落加批注并保存,无需解包打包;复杂场景可用 OOXML 方式。
修订留痕:适合他人文档或法律、学术、商务、政府文档。先用 pandoc 取得带修订的 markdown,按 3-10 条分批实施,仅标记真正改动的文本,保留未改动部分的原始 <w:r>。
格式要求:行距 1.3 倍(250 twips),中文正文两端对齐加两字符缩进,英文左对齐,表格数字右对齐,标题不缩进。表格边框用单线、大小 12,内部竖线设为不可见;所有表格必须设置单元格边距。分页符仅允许出现在封面与目录之间、封面与正文之间或目录与正文之间。超过三节时生成目录,标题须使用 HeadingLevel,生成后运行 add_toc_placeholders.py 添加占位条目。
限制:.doc 旧格式需先 libreoffice --convert-to docx 转换;在 JavaScript/TypeScript 中写入中文引号须转义为 Unicode(如 \u201c、\u201d),否则会引发语法错误;OOXML 批注方式较复杂且可能遇到校验问题,仅在有低层 XML 需求时使用。其余未在资料中说明的事项暂未提供。