项目简介
MarkItDown是微软官方开源的轻量级Python文档转换工具,可以将PDF、Word、PPT、Excel、图片、音频、HTML等数十种格式的文件统一转换为Markdown。它由微软AutoGen团队开发和维护,目前在GitHub上已获得超过10万颗星标。
MarkItDown的设计理念非常清晰:专注于生成对LLM(大型语言模型)友好的文本输出。在保持文档结构(标题、列表、表格、链接等)的同时,最大程度减少不必要的格式噪音。输出虽然人类阅读也相当友好,但它的核心目标是供AI进行文本分析使用。
支持的文件格式
MarkItDown目前支持转换以下格式:
- 办公文档:PDF、Word(.docx)、PowerPoint(.pptx)、Excel(.xlsx/.xls)、Outlook邮件
- 多媒体:图片(EXIF元数据和OCR文字识别)、音频(EXIF元数据和语音转录)
- 网页和文本:HTML、CSV、JSON、XML
- 其他:ZIP文件(自动遍历内容)、YouTube URL(自动获取字幕)、EPUB电子书
为什么选择Markdown?
Markdown非常接近纯文本,标记最少,但仍然能表示重要的文档结构。主流LLM如GPT-4o本身就能”说”Markdown,在训练中接触过大量Markdown格式的文本,对这种格式理解得非常好。
此外,Markdown约定俗成的格式对Token消耗也非常高效——用更少的Token表达相同的信息量,这对于需要处理大量文档的AI应用来说意义重大。
安装步骤
MarkItDown需要Python 3.10及以上版本。推荐使用虚拟环境:
方式一:pip安装(推荐)
pip install 'markitdown[all]'
以上命令会安装所有可选依赖。如果只需要部分格式支持,可以分批安装:
pip install 'markitdown[pdf,docx,pptx]' # 只安装PDF/DOCX/PPTX支持
方式二:源码安装
git clone git@github.com:microsoft/markitdown.git cd markitdown pip install -e 'packages/markitdown[all]'
使用方法
命令行转换:
markitdown path-to-file.pdf > document.md markitdown path-to-file.pptx -o output.md
管道输入:
cat path-to-file.pdf | markitdown
Python代码中使用:
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("document.pdf")
print(result.text_content)
MCP服务器支持
MarkItDown还提供了MCP(Model Context Protocol)服务器,可以与Claude Desktop等AI应用无缝集成,方便在AI工作流中直接调用文档转换能力。
OCR插件
markitdown-ocr插件可以使用LLM Vision对PDF、DOCX、PPTX和XLSX中的嵌入图片进行OCR文字识别,无需安装额外的ML库或二进制依赖。
pip install markitdown-ocr pip install openai # 或任何OpenAI兼容客户端
适用场景
- RAG知识库构建:将各种格式的文档批量转换为Markdown,供向量数据库索引
- AI文档分析:让LLM能够理解和分析PDF报告、论文等技术文档
- 文档归档和迁移:批量将历史文档统一为纯文本格式保存
- PPT内容提取:快速提取PPT中的文字内容用于AI分析
开源协议
本项目采用MIT开源许可证。
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。









暂无评论内容