原 🔥GitHub 11万星!微软开源神器MarkItDown:PDF/Word/PPT/图片/音频一键转干净Markdown
Tags: 原创MarkdownAIMarkItDown
文章目录[隐藏]
🔥GitHub 11万星!微软开源神器MarkItDown:PDF/Word/PPT/图片/音频一键转干净Markdown
还在为文档格式头疼?
PDF复制乱码、Word表格错位、PPT图文乱飞、图片音频没法喂给AI?
今天给大家挖到微软官方开源的神器——MarkItDown,一行命令搞定所有格式,输出大模型最爱、结构超干净的Markdown!
MarkItDown 是一款轻量级 Python 工具,用于将各种文件转换为 Markdown 格式,以便在 LLM 及相关文本分析流程中使用。为此,它与 textract 最为相似,但其侧重点在于将重要的文档结构和内容(包括:标题、列表、表格、链接等)保留为 Markdown 格式。虽然输出结果通常相当美观且易于人类阅读,但其本意是供文本分析工具使用——对于需要高保真度转换以供人类阅读的场景,它可能并非最佳选择。
这款微软开源工具凭实力在GitHub狂揽11万+Star,靠的就是简单、稳定、真解决痛点!告别格式内耗,把时间留给内容本身~
项目地址:https://github.com/microsoft/markitdown
✨ 它到底有多强?
MarkItDown是微软推出的轻量级Python工具,专门把各类文件转成LLM友好型Markdown,不是生硬抽文本,而是完整保留标题、列表、表格、链接、结构层级,AI秒读、省Token、人类也能直接看!
📁 支持格式多到离谱(覆盖99%办公场景)
- Office全家桶:Word、PPT、Excel(新旧格式通吃)
- 文档:PDF(含扫描件OCR)、EPUB
- 多媒体:图片(OCR+元数据)、音频(语音转写)
- 网页/数据:HTML、CSV、JSON、XML
- 黑科技:ZIP自动解压批量转、YouTube链接扒字幕
🎯 核心优势,吊打同类工具
- 结构不死板:标题、列表、表格、链接原样保留,不是纯文本堆砌
- AI天生适配:Markdown是大模型“母语”,解析快、省Token、效果稳
- 轻量无负担:Python 3.10+即可跑,无需复杂环境
- 扩展拉满:支持插件、Azure文档智能、对接LLM做图像描述
🚀 5分钟上手,零门槛教程
1. 安装(推荐全功能版)
pip install 'markitdown[all]'不想装全量?按需选组件:
pip install 'markitdown[pdf,docx,pptx]'支持PDF、Word、PPT精准组合,更轻更快!
目前,可用的可选依赖项如下:
[all]安装所有可选依赖项[pptx]安装 PowerPoint 文件的依赖项[docx]安装 Word 文件的依赖项[xlsx]安装 Excel 文件的依赖项[xls]安装旧版 Excel 文件的依赖项[pdf]安装 PDF 文件的依赖项[outlook]安装 Outlook 邮件的依赖项[az-doc-intel]安装 Azure Document Intelligence 的依赖项[audio-transcription]安装用于 wav 和 mp3 文件音频转录的依赖项[youtube-transcription]安装用于获取 YouTube 视频转录的依赖项
2. 命令行一键转换(小白首选)
# 基础用法:文件转MD
markitdown 报告.pdf -o 输出.md
# 管道流式处理
cat 报告.pdf | markitdown
# 启用插件
markitdown --use-plugins 报告.pdf一行命令,告别复制粘贴、告别格式崩溃!
3. Python代码调用(开发者/批量处理)
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("数据.xlsx")
# 打印转换后的Markdown内容
print(result.text_content)三行代码嵌入项目,批量处理、RAG预处理随便玩!
4. 进阶玩法(企业/高阶用户)
- 对接Azure Document Intelligence:高精度解析复杂PDF
- 接入GPT-4o:自动生成图片描述,适配图文PPT
- Docker部署:环境统一、一键运行
5.Python API
Python 中的基本用法:
from markitdown import MarkItDown
md = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.text_content)Python 中的 Document Intelligence 转换:
from markitdown import MarkItDown
md = MarkItDown(docintel_endpoint="<document_intelligence_endpoint>")
result = md.convert("test.pdf")
print(result.text_content)要使用大型语言模型生成图像描述(目前仅适用于 pptx 和图像文件),请提供 llm_client 和 llm_model:
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o", llm_prompt="optional custom prompt")
result = md.convert("example.jpg")
print(result.text_content)6.Docker 支持
docker build -t markitdown:latest .
docker run --rm -i markitdown:latest < ~/your-file.pdf > output.md🎯 适合谁用?
- 职场人:快速整理资料、做AI总结、统一文档格式
- 开发者:搭建RAG知识库、AI文档预处理
- 学生/研究者:课件转写、文献整理、音频转笔记
一句话:只要你要喂AI、做笔记、清格式,MarkItDown都能一键封神!



