SuperAPI AI 工具集

docx

办公与效率

查看项目

更新于 10-16 09:48

技能介绍

用途:创建、读取、编辑和操作 Word 文档(.docx)。.docx 本质是包含 XML 文件的 ZIP 压缩包,因此读取与编辑可基于 XML 完成。

主要能力:

  • 读取/分析内容:用 pandoc 提取文本(含修订),或解包获取原始 XML。
  • 创建新文档:使用 docx-js(npm install -g docx)编写并生成 .docx。
  • 编辑已有文档:解包 → 编辑 XML → 重新打包。
  • 格式转换:将旧版 .doc 转为 .docx;转换为 PDF 再转图片(pdftoppm);接受修订生成干净文档(需 LibreOffice)。
  • 修订与批注:通过 XML 标记跟踪修订、插入/删除内容、添加评论及回复。

必要用法:

  • 旧 .doc 转换:python scripts/office/soffice.py --headless --convert-to docx document.doc
  • 文本提取:pandoc --track-changes=all document.docx -o output.md
  • 解包:python scripts/office/unpack.py document.docx unpacked/
  • 打包:python scripts/office/pack.py unpacked/ output.docx --original document.docx
  • 校验:python scripts/office/validate.py doc.docx
  • 新建安装:npm install -g docx

编辑既有文档分三步:先解包,再在 unpacked/word/ 中编辑 XML,最后打包;打包带自动修复与校验,可用 --validate false 跳过。修订用 <w:ins> 与 <w:del>(删除文本置于 <w:delText>),批注通过 comment.py 生成对应文件并在 document.xml 加入标记。新增内容建议使用智能引号 XML 实体(如 ’)。

创建文档要点(docx-js):始终显式设置页面尺寸(默认 A4,美国文档常用 12240×15840 DXA);横向时传纵向尺寸并设 orientation: PageOrientation.LANDSCAPE;表格宽度用 WidthType.DXA 且表格宽度等于各列之和,列宽与单元格宽需同时设置并匹配;表格阴影用 ShadingType.CLEAR;列表用 LevelFormat.BULLET 而非 Unicode 符号;分页符须置于段落内;ImageRun 必须指定 type;目录需标题仅用 HeadingLevel。

适用场景:批量或程序化生成 Word 文档、提取与转换文档内容、以修订和批注形式协作编辑、将文档转为 PDF 或图片。

限制:依赖 pandoc、docx、LibreOffice、Poppler 等外部组件;接受修订与 PDF 转换需 LibreOffice;打包自动修复无法处理畸形 XML、非法嵌套、缺失关系或架构违规;具体收费与价格暂未提供。