微软开源神器 MarkItDown:一行命令把 PDF、Word、PPT 转成 Markdown
本文介绍 GitHub 本周热门项目 Microsoft MarkItDown,109,881 ⭐,本周新增 15,790 星。
一句话总结
MarkItDown 是微软开源的一个 Python 工具,一行命令就能把 PDF、Word、PPT、Excel、图片、音频、HTML、YouTube 链接等各种格式文件转成 Markdown 格式。对搞 AI、做大模型数据处理的人来说,这是刚需。
为什么这个工具突然火了?
两个原因:
1. 大模型需要 Markdown —— GPT-4o 等大模型原生"懂" Markdown,用 Markdown 喂给 LLM 比喂纯文本或 HTML 更省 token,理解也更好
2. MCP 协议加持 —— 最近 MarkItDown 新增了 MCP(Model Context Protocol)服务器,可以直接接入 Claude Desktop 等 LLM 应用,让 AI 帮你自动处理文档
它能处理哪些格式?
| 格式 | 说明 |
|---|---|
| 保留标题、段落、列表等结构 | |
| Word (.docx) | 提取文字和格式 |
| PowerPoint (.pptx) | 幻灯片内容转 Markdown |
| Excel (.xlsx) | 表格完美转换 |
| 图片 | 提取 EXIF 元数据 + OCR 文字识别 |
| 音频 | 提取元数据 + 语音转文字 |
| HTML | 网页转 Markdown |
| CSV / JSON / XML | 结构化数据转 Markdown |
| ZIP | 自动解压并逐个转换 |
| YouTube 链接 | 提取视频字幕/转录 |
| EPUB | 电子书转换 |
怎么用?
安装
pip install 'markitdown[all]'
命令行 —— 一行搞定
# 把 PDF 转成 Markdown,输出到终端
markitdown path-to-file.pdf
# 输出到文件
markitdown path-to-file.pdf -o output.md
# 管道模式
cat document.docx | markitdown
Python 代码调用
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)
几个亮点
1. 按需安装,不臃肿
# 只装 PDF、Word、PPT 的支持
pip install 'markitdown[pdf, docx, pptx]'
2. OCR 插件
配合 markitdown-ocr 插件,可以用 LLM Vision 识别文档里嵌入图片中的文字:
from markitdown import MarkItDown
from openai import OpenAI
md = MarkItDown(
enable_plugins=True,
llm_client=OpenAI(),
llm_model="gpt-4o",
)
result = md.convert("document_with_images.pdf")
3. MCP 集成
最新支持 MCP 协议,可以让 Claude Desktop 等 AI 助手直接调用 MarkItDown 处理文档。
适用场景
- RAG / 知识库构建:把公司文档、PDF 报告转成 Markdown,喂给向量数据库
- 内容创作:从各种格式素材中快速提取文字,统一格式
- 数据分析:Excel 表格转 Markdown,方便 LLM 理解数据结构
- 文档归档:统一将历史文档转成 Markdown,长期保存
一句话评价
如果你经常需要在不同文档格式之间折腾,或者在做 AI 相关的数据处理,MarkItDown 值得装一个。安装简单、格式覆盖全、和大模型生态天然契合,10 万星实至名归。
项目地址:github.com/microsoft/markitdown
安装:pip install 'markitdown[all]'
许可证:MIT