DOCX 技能面向 .docx 文件的创建、编辑与内容分析。.docx 本质上是包含 XML 文件及其他资源的 ZIP 包,可读取和编辑。
用途与主要能力
- 文本提取:可用 pandoc 将文档转为 Markdown,并保留文档结构与跟踪修订(--track-changes=accept/reject/all)。
- 原始 XML 访问:解包后可读取 word/document.xml(正文)、word/comments.xml(批注)、word/media/(嵌入媒体),跟踪修订使用 <w:ins>(插入)与 <w:del>(删除)标签。旧版 .doc 需先用 libreoffice --convert-to docx 转换。
- 新建文档:使用 docx-js,并以 bun 执行,通过 Document、Paragraph、TextRun 等组件构建,用 Packer.toBuffer() 导出 .docx。若文档超过三个章节,应生成目录;所有标题须使用 HeadingLevel,标题段落不得添加自定义样式,目录须放在实际标题内容之前,并在目录组件后紧跟居中灰色 18 号提示段落,提示用户右键更新域。生成后须运行 add_toc_placeholders.py 添加目录占位条目,支持最多 3 级。
- 编辑现有文档:使用 Document 库(Python OOXML 操作),先 unpack 解包,编写并运行 Python 脚本,再 pack 打包。
- 添加批注:推荐 python-docx,可直接在 .docx 上按段落或 runs 添加批注并指定作者;复杂场景可用 OOXML 方式(解包、Document 脚本、打包)。
- 审阅修订(Redlining):先用 pandoc 转为带修订的 Markdown,识别并分批(每批 3–10 处)实现全部修订;仅标记实际变化的文本,保留未变部分的原始 run 与 RSID。
格式与排版规范
- 正文行距 1.3 倍(250 twips),不使用单倍行距;图表水平居中。
- 中文正文两端对齐并首行缩进 2 字符;英文左对齐;表格数字右对齐;标题不缩进。
- 表格边框使用 Single、尺寸 12、主色;内部竖线设为 Nil;所有表格须在 Table 层设置 margins,避免文字贴边。
- 提供四套配色(Ink & Zen、Wilderness Oasis、Terra Cotta Afterglow、Midnight Code),需选其一。
- 分页仅允许出现在封面与目录之间、封面与正文之间(无目录时)、目录与正文之间;目录之后内容连续排列。
- 列表左对齐,逐项换行,不将多项放在同一行。
- 用 Python 生成含中文的 PNG 时,需注册 SimHei 字体并设置 font.sans-serif 与 axes.unicode_minus。
- docx-js 中字符串内的中文引号必须转义为 \u201c、\u201d、\u2018、\u2019,或改用模板字符串。
使用方式与限制 新建文档前须完整阅读 docx-js.md(约 560 行),编辑文档前须完整阅读 ooxml.md(约 600 行),不得限制读取范围。适用场景包括法律、学术、商务与政府文档的审阅修订,以及需要专业排版的 Word 文档生成。具体依赖安装、脚本路径与命令以资料所列为准;其他未提及的功能、平台与收费信息暂未提供。