MarkItDown 是由微软开发的一个轻量级 Python 工具,用于将各类文档和文件转换为结构化的 Markdown 格式,适用于大型语言模型(LLM)处理和文本分析任务。其目标是尽可能保留文档中的结构信息,如标题、列表、表格、链接等,而不仅仅是提取原始文本。

支持的文件类型

  • PDF
  • Word 文档
  • PowerPoint 幻灯片
  • Excel 表格
  • 图片(支持 EXIF 元数据和 OCR 文字识别)
  • 音频文件(EXIF 元数据和语音转写)
  • HTML 页面
  • 文本格式(如 CSV、JSON、XML)
  • ZIP 压缩包(遍历其中内容)
  • YouTube 视频链接
  • EPUB 电子书等

适用场景

  • 为大语言模型准备输入数据
  • 自动化文档结构提取
  • 将文件内容标准化为 Markdown,用于进一步处理或存储

安装方式

可以通过 pip 安装完整版本:

pip install 'markitdown[all]'

或从源代码安装:

git clone [email protected]:microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'

命令行使用示例

将文件转换为 Markdown 并输出到终端:

markitdown path-to-file.pdf > document.md

或使用 -o 参数指定输出文件:

markitdown path-to-file.docx -o output.md

特点说明

  • 面向结构化信息提取而非高保真文档转化
  • 输出文本适合机器处理,也具有人类可读性
  • 使用文件流处理方式,无需创建临时文件
  • 提供 MCP(Model Context Protocol)服务,便于集成到 LLM 应用中

开源协议

该项目使用 MIT 协议开源,支持自由使用和商业集成

项目地址:https://github.com/microsoft/markitdown