SuperAPI AI 工具集

document-extractor

办公与效率

查看项目

更新于 10-16 10:18

技能介绍

用途

DocumentExtractor 用于借助 MarkItDown 将受支持的各种输入转换为 Markdown,从而让这些内容更容易被检查、搜索,并接入 LLM 工作流。它适合处理难以直接阅读的文件,覆盖 PDF、Word、PowerPoint、Excel、图片、音频、HTML、CSV、JSON、XML、ZIP、EPUB、Outlook 等格式。

检查与安装

可先检查 CLI 是否已存在:

Get-Command markitdown -ErrorAction SilentlyContinue
markitdown --version

优先使用 uv 安装:

uv tool install markitdown
uv tool install 'markitdown[pdf,docx,pptx]'
uv tool install 'markitdown[all]'

如果 uv 不可用,则回退到 pipx:

pipx install markitdown
pipx install 'markitdown[pdf,docx,pptx]'
pipx install 'markitdown[all]'

如果安装时没有包含所需的功能组,请按实际想要的范围重新安装更窄或更广的 extras 集合。当用户只需要部分格式时,安装 extras 前先阅读 references/feature-groups.md。

使用 CLI

将文件转换为 Markdown 并输出到标准输出:

markitdown .\report.pdf

写入文件:

markitdown .\report.pdf -o .\report.md

通过管道输入二进制内容,并给 MarkItDown 提供扩展名提示:

Get-Content .\report.pdf -AsByteStream | markitdown -x .pdf -o .\report.md

当输入源不明确时,使用 MIME 或字符集提示:

markitdown -x .html -m text/html .\page.bin
markitdown -x .csv -c utf-8 .\data.txt

保留内联 data: URI,而不是截断它们:

markitdown --keep-data-uris .\page.html -o .\page.md

有意识地选择 Extras

  • 对轻量级类文本输入和通用转换,安装基础版 markitdown。
  • 当用户只需要特定格式时,安装对应的定向 extras。
  • 仅当广泛覆盖比依赖体积更重要时,才安装 [all]。
  • 使用 Azure Document Intelligence 时,用 az-doc-intel 重新安装。
  • 仅在转写工作流中,使用 audio-transcription 或 youtube-transcription 重新安装。

当前 extras 列表和格式映射位于 references/feature-groups.md。

常见工作流

转换 Office 或 PDF 文档:

markitdown .\slides.pptx -o .\slides.md
markitdown .\notes.docx -o .\notes.md
markitdown .\table.xlsx -o .\table.md
markitdown .\scan.pdf -o .\scan.md

在装好相关支持后,转换 YouTube URL 或压缩包:

markitdown "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -o .\video.md
markitdown .\bundle.zip -o .\bundle.md

使用 Azure Document Intelligence 进行提取:

markitdown .\scan.pdf -d -e "https://<resource>.cognitiveservices.azure.com/" -o .\scan.md

列出已安装的第三方插件:

markitdown --list-plugins
markitdown --use-plugins .\input.pdf -o .\input.md

使用 Python API

当用户需要在脚本中使用 MarkItDown 而不是作为独立命令时,可使用 Python API:

from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False)
result = md.convert("report.pdf")
print(result.markdown)

为 Document Intelligence 使用已配置的 endpoint:

from markitdown import MarkItDown

md = MarkItDown(docintel_endpoint="https://<resource>.cognitiveservices.azure.com/")
result = md.convert("scan.pdf")
print(result.markdown)

快速排错

  • 如果找不到 markitdown,用 uv tool install ... 或 pipx install ... 安装。
  • 如果格式不受支持,先检查是否安装了正确的 extra。
  • 如果 stdin 转换结果看起来不对,加上 -x、-m 或 -c 提示。
  • 如果 -d 失败,检查 endpoint 并确认已安装 az-doc-intel 支持。
  • 如果预期有插件行为,先运行 markitdown --list-plugins,然后加上 --use-plugins。
  • 如果输出细节不清楚,运行 markitdown --help,然后查阅上游文档。

最后手段

当本地行为不清楚或包发生变化时,可使用以下来源:

  • CLI 帮助:markitdown --help
  • 主文档:https://github.com/microsoft/markitdown/tree/main
  • README:https://raw.githubusercontent.com/microsoft/markitdown/main/README.md

(注:该技能的详细平台支持、收费与价格、平台与效果信息暂未提供。)