用途
convert-to-markdown 用于把多种格式的文件和网页内容转换为 Markdown 文本。当用户需要从 PDF、Word 文档、PowerPoint、Excel、图片、音频、EPUB、MHTML、YouTube 字幕或任意 URL 中提取文本时,可以使用这套工具。
主要能力
工具按输入类型选择不同命令:
- 通用文件格式(.pdf、.docx、.pptx、.xlsx、.xls、.csv、.json、.xml、.epub、图片、音频、.html、.txt、.md):使用内置 CLI 命令
uvx markitdown <path>。 - YouTube URL 或视频 ID:使用
./scripts/youtube-transcript <url_or_id>。 - 普通网页 URL(需 Crawl4AI 服务器运行):使用
./scripts/web-to-md <url>。 - .mhtml 文件或 MHTML URL:使用
./scripts/mhtml-to-md <source>。
MarkItDown 支持 PDF、DOCX、PPTX、XLSX/XLS、图片(EXIF + OCR)、音频(转录)、EPUB、CSV、JSON、XML、HTML、TXT、ZIP。
使用方式
所有脚本位于 scripts/ 目录,按原样运行。
YouTube 字幕:
./scripts/youtube-transcript <url_or_video_id> [--info] [--lang <code>] [--raw]
--info:在字幕前包含视频元数据(标题、频道、时长)。--lang <code>:字幕语言(如 en、de),默认自动检测源语言。--raw:输出原始 VTT 而非清理后的文本。
MHTML 转 Markdown:
./scripts/mhtml-to-md <path_or_url>
接受本地 .mhtml 文件或提供 MHTML 内容的远程 URL。
网页转 Markdown(通过 Crawl4AI):
./scripts/web-to-md <url> [-o output.md] [-s server_url]
需要 Crawl4AI 服务器运行在 http://localhost:11235(或设置 $CRAWL4AI_URL)。服务器获取完整页面 HTML,脚本将其转换为 Markdown。
没有 Crawl4AI 时的回退方案:
curl -o page.html <url> && uvx markitdown page.html
MarkItDown 通用文件转换:
uvx markitdown <path> [-o output.md]
适用场景
- 将办公文档、电子表格、演示文稿统一转为 Markdown 以便归档或编辑。
- 从图片或音频中提取文本(OCR 或转录)。
- 获取 YouTube 视频字幕并整理为文本。
- 抓取网页内容并转为 Markdown。
- 处理 MHTML 存档文件。
限制
- 扫描版 PDF 若无文本,可尝试按图片处理,markitdown 会对图片运行 OCR。
- 受密码保护的文件无法解密,需先移除密码。
- 大型 ZIP 压缩包建议先提取特定文件再逐个转换。
- YouTube 年龄限制视频会因 yt-dlp 失败而无法处理,无变通方法。
- 音频转录质量取决于音频清晰度。
- Excel 多工作表会作为独立表格全部包含在输出中。
- 网页转换依赖 Crawl4AI 服务器,未运行时需使用回退方案。