SuperAPI AI 工具集

document-converter

办公与效率

查看项目

更新于 10-16 05:38

技能介绍

Document Converter(MarkItDown)是一个将 Office 文档和结构化文档转换为 Markdown 的技能,底层使用微软开源的 MarkItDown 工具,目的是让转换后的内容便于 LLM 消费。

用途 该技能用于把来源格式各异的资料统一转换为干净的 Markdown 文本,尤其适合学术研究场景,例如期刊 PDF、会议 PPTX、协作者提供的 DOCX、数据表格 XLSX 等。

支持的格式

  • PDF(.pdf):文本提取;扫描版 PDF 需要 OCR。
  • Word(.docx):保留段落、表格、列表、标题。
  • PowerPoint(.pptx):逐页转换,并包含演讲者备注。
  • Excel(.xlsx、.xls):逐工作表转换,表格转为 Markdown 表格。
  • HTML(.html、.htm):提取并清理内容。
  • CSV(.csv):转换为 Markdown 表格。
  • JSON(.json):美化打印的结构化输出。
  • XML(.xml):结构化文本提取。
  • 图片(.jpg、.png、.gif、.bmp、.tiff):OCR 文本提取(需要可选依赖)。
  • 音频(.mp3、.wav):转录(需要可选依赖)。
  • ZIP(.zip):递归转换其中包含的文件。

使用方式 当配置了 markitdown-mcp 服务器后,可使用 convert_to_markdown 工具: 工具:convert_to_markdown 参数:uri: "file:///absolute/path/to/document.pptx" uri 参数接受本地文件(file:///path/to/file.docx)和 HTTP URL(https://example.com/paper.pdf)。本地文件务必使用绝对路径和 file:// URI 方案。该工具返回转换后文档的完整 Markdown 文本内容。对于大型文档,输出可能相当大,建议在转换后进行摘要或提取相关章节。

CLI 回退方式 如果 MCP 服务器不可用,可通过 shell 直接使用 CLI:

转换单个文件

markitdown document.pptx

保存输出到文件

markitdown document.pptx > output.md

从 URL 转换

markitdown https://example.com/paper.pdf

学术研究工作流

  1. 会议演示分析:用 convert_to_markdown 转换演示文稿,输出保留幻灯片结构和演讲者备注,然后总结关键发现、方法和结论。
  2. PDF 论文审阅:将 PDF 转换为 Markdown,提取摘要、引言、方法、结果、讨论等章节,并与文献库交叉引用。
  3. 数据表格提取:将 XLSX 转换为 Markdown 表格,每个工作表成为独立章节,提取的表格可用于分析或比较。
  4. 批量文献处理:逐个转换文档,从内容中提取元数据(标题、作者、日期),并通过 library_add_paper 加入文献库。

输出质量说明

  • DOCX:优秀;复杂版式可能丢失格式。
  • PPTX:良好;图表会变成文字描述。
  • XLSX:良好;合并单元格可能无法完美呈现。
  • PDF:因 PDF 类型而异(文本型还是扫描型)。
  • HTML:良好;JavaScript 渲染的内容无法捕获。
  • CSV:优秀;直接表格转换。

适用场景 用户上传或引用 Office 文档(PPTX、DOCX、XLSX);用户想分析 PDF 内容;用户需要从图片中提取文本(OCR);用户想转换文档以纳入笔记或工作区;用户要求读取、总结或分析非 Markdown 文件;批量处理混合格式的研究资料。

不适用场景 文件已经是 Markdown 或纯文本;用户想编辑原始文档格式(应使用相应编辑器);用户需要像素级保留版式(应使用原始格式);文件是扫描版 PDF 且未配置 OCR 支持。

故障排查

  • 找不到 markitdown:运行 pip install 'markitdown[all]'。
  • MCP 工具不可用:确保已安装 markitdown-mcp 并在 openclaw.json 中配置。
  • PDF 输出为空:PDF 可能是扫描版/纯图片,需要 OCR 依赖。
  • 编码错误:确保文件未损坏,尝试从源应用重新保存。
  • 大文件超时:超大文件改用 CLI 而非 MCP 转换。

安装 本地(macOS/Linux): pip install 'markitdown[all]' markitdown-mcp 验证: markitdown --help Docker:MarkItDown 已预装在 Research-Claw Docker 镜像中。