SuperAPI AI 工具集

docx

办公与效率

查看项目

更新于 10-15 11:08

技能介绍

用途

docx 技能适用于格式要求明确为 Word / .docx 的任务,无论是用户显式说明还是交付物本身强烈暗示该格式。典型触发场景包括:读取或修改现有 .docx;将 .docx 作为最终交付物生成;对 Word 文档进行重新格式化、重构或润色;处理 Word 文件中的修订痕迹、批注、图片、页眉、页脚或目录。用户不必逐字说出 .docx,只要其明确希望得到一份正式的、可在 Microsoft Word 中继续编辑的 Word 风格交付物,该技能即可匹配。

该技能不应作为所有“写一份报告”类请求的默认选择:如果用户只想起草文本、规划结构或改进行文,应优先使用写作或文档类工作流;如果用户明确要 PDF 交付物,优先使用 pdf;明确要电子表格则优先 xlsx;明确要演示文稿则根据格式选择 pptx 或 html-ppt(外部 ppt-master 工作流也可从该 DOCX 生成新的 PPTX,但它在技能系统之外手动运行)。

主要能力

.docx 文件本质上是一个包含 XML 文件的 ZIP 归档。该技能提供三类操作:

阅读 / 分析内容:可使用 pandoc 或解包获取原始 XML。例如使用 pandoc --track-changes=all document.docx -o output.md 提取带修订痕迹的文本,或使用 python scripts/office/unpack.py document.docx unpacked/ 访问原始 XML。

创建新文档:使用 docx-js(安装命令 npm install -g docx)以 JavaScript 生成 .docx,随后进行校验。技能文档给出了从 Document、Packer、Paragraph、TextRun 到 Table、ImageRun、Header、Footer、TableOfContents 等大量构造项的引入与使用方式。

编辑现有文档:按顺序执行三步——解包、编辑 XML、重新打包。解包使用 python scripts/office/unpack.py document.docx unpacked/,它会提取 XML、美化打印、合并相邻 run,并将弯引号转换为 XML 实体以便编辑后仍能保留;可用 --merge-runs false 跳过 run 合并。编辑 unpacked/word/ 下的文件。重新打包使用 python scripts/office/pack.py unpacked/ output.docx --original document.docx,它会进行校验并自动修复、压缩 XML 并生成 DOCX,可用 --validate false 跳过校验。

其他能力还包括:旧版 .doc 转换(python scripts/office/soffice.py --headless --convert-to docx document.doc)、转换为图片(先转 PDF 再用 pdftoppm)、接受全部修订痕迹生成干净文档(需 LibreOffice,python scripts/accept_changes.py input.docx output.docx)。

使用方式

创建新文档时,技能文档强调若干关键实践:显式设置页面尺寸,因为 docx-js 默认 A4 而非 US Letter;横向时传入纵向尺寸并由 docx-js 在 XML 中交换宽高,同时设置 orientation: PageOrientation.LANDSCAPE。使用 Arial 作为默认字体。覆盖内置标题样式时使用精确 ID(如 "Heading1"、"Heading2"),并为 TOC 提供 outlineLevel。列表绝不能使用 Unicode 项目符号,而应使用 numbering 配置与 LevelFormat.BULLET / DECIMAL。表格必须同时设置 columnWidths 和每个单元格的 width,且宽度类型始终使用 WidthType.DXA(PERCENTAGE 在 Google Docs 中会失效),表格宽度需等于各列宽之和,单元格需补充 margins。ImageRun 必须指定 type。PageBreak 必须位于 Paragraph 内。分页、超链接(外部与内部书签)、脚注、制表位、多栏布局、目录、页眉页脚等均有对应的代码模式。

编辑现有文档时,添加修订痕迹应替换整个 <w:r> 元素,将 <w:del> 与 <w:ins> 作为兄弟节点,不要把修订标签注入 run 内部;同时复制原 run 的 <w:rPr> 以保留加粗、字号等格式。新内容应使用弯引号(通过 XML 实体如 &#x2019;、&#x201C;、&#x201D;)。批注可使用 python scripts/comment.py 处理跨文件的样板内容,随后在 document.xml 中加入标记。XML 需注意模式合规:<w:pPr> 内元素顺序、含前后空格的 <w:t> 需加 xml:space="preserve"、RSID 必须为 8 位十六进制。

生成文件后应使用 python scripts/office/validate.py doc.docx 校验;若校验失败,则解包、修复 XML、重新打包。

适用场景

需要生成正式 Word 交付物(如报告、合同、信件、带目录的长文档)时;需要读取、修改或重构已有 Word 文档时;需要处理修订痕迹、批注、页眉页脚、脚注、图片等复杂 Word 特性时;需要将 .doc 转换为 .docx 后再编辑时。

限制

技能文档未提供价格、收费、平台兼容范围的完整说明。部分操作依赖外部工具:接受修订需要 LibreOffice,格式转换依赖 soffice,文本提取依赖 pandoc。解包后的自动修复仅能处理有限问题(如过大的 durableId、缺失的 xml:space),无法修复格式错误的 XML、非法元素嵌套、缺失关系或模式违规。该技能不应被视为所有写作类请求的默认方案,具体适用边界需结合上述触发与排除条件判断。