SuperAPI AI 工具集

doc-format-converter

办公与效率

查看项目

更新于 10-16 00:31

技能介绍

用途:把文档从一种格式转换为另一种格式,目标格式包括 md、html、pdf、docx、pptx、txt,输入还支持 xlsx 和 csv。它产出文件,而不是回答关于文件内容的问题;内容问答应交给 analyzing-* 系列技能(如 analyzing-pdf 负责 PDF 问答,不要用 convert.py 代替抽取)。

主要能力:使用捆绑的 scripts/convert.py,完全离线,依赖沙箱中已有的 markitdown、mammoth、markdownify、reportlab、python-docx、python-pptx、pdfplumber、beautifulsoup4、magika 等库,并为每种转换选择可用保真度最高的管线。Markdown 是通用中间格式,Office/PDF 输入先经 markitdown 抽取再重新渲染。PDF 输出会自动注册支持中日韩的字体(捆绑 Noto CJK,回退到 reportlab 内置 CID 字体)。PPTX 输出按 #/## 标题每标题一页、正文为项目符号,超出则续页,属于大纲式幻灯片而非成品设计。

使用方式:按技能文件夹内脚本路径运行,通常为 /app/skills/doc-format-converter/。单文件:python /app/skills/doc-format-converter/scripts/convert.py INPUT --to FORMAT [-o OUTPUT];省略 -o 时输出与输入同目录、换新扩展名。批量:python /app/skills/doc-format-converter/scripts/convert.py --batch DIR --to FORMAT [--out-dir DIR],并把打印的汇总表给用户。若已有 analyzing-* 预处理生成的 converted.md,可直接作为 Markdown 输入复用(convert.py converted.md --to pptx),不必重新抽取原文件。成功后脚本打印输出路径;返回文件时简要说明所用管线(如“docx → HTML via mammoth”)。

适用场景与限制:适合“把这份材料给我 PDF/Word/幻灯片/Markdown”这类产出请求。扫描或图片型 PDF 走 pdf → md 几乎抽不出内容,应改用 analyzing-pdf 预处理器(其 OCR 更优),再把文本产物交给本技能的渲染器。版面复杂(分栏、图片、脚注)会被简化,转换时应说明。pdf → pptx 与 pptx → pdf/docx 被有意设为不支持,因为抽取损失过大;若脚本报告不支持,转述其完整支持矩阵并给出最近的可行路线(如 PDF → Markdown,编辑后再 Markdown → PPTX)。脚本通过 magika 嗅探内容并警告扩展名与内容不符时,应告知用户,转换按检测出的内容类型继续。护栏:不得编造或“补全”源文件没有的内容,抽取为空就如实报告;convert.py 已支持时不要手写转换代码,仅在脚本失败时才回退并说明;没有脚本成功输出就不要声称转换成功。验证测试用例位于 references/test-cases.md,素材在 assets/samples/,用户要求验证时使用。