MarkItDown 是 Microsoft 开发的 Python 工具,用于将多种文件格式转换为 Markdown。Markdown 对现代语言模型较为节省 token,因此适合把文档转为 LLM 友好文本。
用途与主要能力:支持 PDF、DOCX、PPTX、XLSX、XLS、图片(JPEG/PNG/GIF/WebP)、音频(WAV/MP3)、HTML、CSV、JSON、XML、ZIP、EPUB,以及 YouTube 视频转录。图片可提取 EXIF 元数据并做 OCR,音频可提取元数据并转录。可通过 Azure Document Intelligence 增强复杂 PDF 转换,也可借助 OpenRouter 等 OpenAI 兼容接口为 PPTX 和图片生成 AI 图像描述。
使用方式:安装全部功能:pip install 'markitdown[all]'。命令行示例:markitdown document.pdf > output.md、markitdown document.pdf -o output.md、cat document.pdf | markitdown > output.md。Python API 示例:from markitdown import MarkItDown; md = MarkItDown(); result = md.convert("document.pdf"); print(result.text_content)。可用 convert_stream 处理流式文件。插件:markitdown --list-plugins、markitdown --use-plugins document.pdf -o output.md。Docker 示例:docker build -t markitdown:latest .;docker run --rm -i markitdown:latest < ~/document.pdf > output.md。
适用场景:科学论文转 Markdown、Excel 表格数据提取、批量文档转换、PowerPoint 演示稿带 AI 描述转换、YouTube 视频转录等。
限制与注意事项:OCR 需安装 tesseract;音频转录和 AI 图像描述需要额外依赖或 API 调用(可能产生费用);大型 PDF 和 OCR 处理可能较慢;二进制文件需以二进制模式打开。官方仓库为 https://github.com/microsoft/markitdown。