乐于分享
好东西不私藏

微软开源了一个神器,一行命令把PDF/Word/PPT全变成Markdown,10万星!附保姆级安装教程

微软开源了一个神器,一行命令把PDF/Word/PPT全变成Markdown,10万星!附保姆级安装教程

你有没有遇到过这种情况?

手里一堆PDF报告、Word文档、PPT幻灯片,想丢给AI帮你总结分析,结果AI根本读不懂这些格式。你只能手动复制粘贴,排版全乱,表格变成一坨,图片直接消失。

折腾半天,人比AI还累。

现在,微软开源了一个工具,专门解决这个痛点。

它叫 MarkItDown,一个轻量级的Python工具,能把你电脑里几乎所有常见文件格式,一键转换成Markdown。

GitHub上已经飙到了 10.4万颗星,6400+ Fork。

说真的,能在GitHub上拿到10万星的项目,全世界也没几个。这个项目发布没多久就火成这样,说明它确实戳中了大家的刚需。

它到底能干嘛?

简单来说,MarkItDown就干一件事,把各种文件转成Markdown格式的纯文本。

你可能会问,为什么是Markdown?

因为现在主流的大语言模型,不管是GPT-4o、Claude还是DeepSeek,它们天生就「说」Markdown。训练数据里有海量的Markdown文本,所以它们对这种格式的理解最好、最准确。而且Markdown格式极其省token,同样的内容,转成Markdown喂给AI,比直接丢原始文件省钱省时间。

目前MarkItDown支持转换的格式包括:

📄 文档类:PDF、Word(.docx)、PowerPoint(.pptx)、Excel(.xlsx/.xls)

🌐 网页类:HTML

🖼️ 图片类:支持EXIF元数据提取 + OCR文字识别

🎵 音频类:支持元数据提取 + 语音转文字

📺 视频类:YouTube链接直接提取字幕

📚 其他:CSV、JSON、XML、EPub电子书、ZIP压缩包(自动遍历里面的文件)

你没看错,连YouTube链接都能直接转。你丢一个YouTube视频地址给它,它自动帮你把字幕抓下来转成Markdown。

这也太方便了。

保姆级安装教程

别慌,跟着一步一步来,五分钟搞定。

第一步:确认Python环境

MarkItDown需要 Python 3.10或更高版本

打开你的终端(Windows用户按 Win+R,输入 cmd 回车;Mac用户打开「终端」app),输入:

python --version

如果显示的版本号是3.10以上,比如 Python 3.12.0,那就没问题,直接下一步。

如果你电脑还没装Python,或者版本太低,去 Python官网(python.org)下载最新版安装。安装的时候 一定要勾选「Add Python to PATH」,这个很重要,不勾的话后面会找不到命令。

第二步:创建虚拟环境(推荐)

虚拟环境的作用是把MarkItDown的依赖和你电脑上其他Python项目隔离开,避免互相冲突。

方法一:用Python自带的venv

# 在你想放项目的目录下执行python -m venv markitdown-env

激活虚拟环境:

# Windows用户markitdown-env\Scripts\activate# Mac/Linux用户source markitdown-env/bin/activate

激活成功后,你的终端前面会出现 (markitdown-env) 的标识。

方法二:用Anaconda(如果你装了的话)

conda create -n markitdown python=3.12conda activate markitdown

两种方法选一种就行,效果一样。

第三步:安装MarkItDown

这一步最简单,一行命令:

pip install 'markitdown[all]'

[all] 的意思是安装所有格式的支持。如果你只想转特定格式的文件,也可以按需安装,比如:

# 只安装PDF、Word、PPT的支持pip install 'markitdown[pdf,docx,pptx]'

目前可选的依赖包括:

选项
支持格式
[all]
所有格式
[pdf]
PDF文件
[docx]
Word文档
[pptx]
PowerPoint
[xlsx]
Excel新版
[xls]
Excel旧版
[outlook]
Outlook邮件
[audio-transcription]
音频转文字
[youtube-transcription]
YouTube字幕提取

安装过程可能需要一两分钟,取决于你的网速。看到 Successfully installed 就说明装好了。

第四步:验证安装

输入以下命令,看看是否安装成功:

markitdown --help

如果输出了使用帮助信息,恭喜你,安装完成了!

怎么用?三种姿势

姿势一:命令行(最简单)

适合快速转换单个文件,一行命令搞定:

# 转换PDF并输出到终端markitdown 你的文件.pdf# 转换并保存到文件markitdown 你的文件.pdf -o 输出结果.md# 也可以用重定向markitdown 你的文件.pdf > 输出结果.md

甚至可以用管道:

cat 你的文件.pdf | markitdown

实战举例:

假设你桌面上有一份产品需求文档 PRD.docx,想转成Markdown:

markitdown PRD.docx -o PRD.md

就这么简单。打开生成的 PRD.md,标题、列表、表格、链接全都完整保留。

姿势二:Python代码调用

如果你想在自己的Python脚本里批量处理,可以用Python API:

from markitdown import MarkItDownmd = MarkItDown()# 转换单个文件result = md.convert("报告.pdf")print(result.text_content)# 保存到文件with open("报告.md", "w", encoding="utf-8") as f:    f.write(result.text_content)

想批量转换一个文件夹里所有的PDF?加几行代码就行:

import osfrom markitdown import MarkItDownmd = MarkItDown()for filename in os.listdir("./文档文件夹"):    if filename.endswith(".pdf"):        result = md.convert(f"./文档文件夹/{filename}")        output_name = filename.replace(".pdf", ".md")        with open(f"./输出/{output_name}", "w", encoding="utf-8") as f:            f.write(result.text_content)        print(f"已转换: {filename}")

姿势三:搭配AI大模型使用(进阶玩法)

这才是MarkItDown最骚的地方。

如果你的文件里有图片,MarkItDown可以调用大模型来识别图片内容并生成描述:

from markitdown import MarkItDownfrom openai import OpenAIclient = OpenAI()md = MarkItDown(llm_client=client, llm_model="gpt-4o")result = md.convert("含有图片的PPT.pptx")print(result.text_content)

这样转出来的Markdown里,图片的位置会自动填上AI生成的图片描述文字,信息一点不丢。

还有个彩蛋:MCP服务器

MarkItDown现在还提供了MCP(Model Context Protocol)服务器,可以直接跟Claude Desktop这类LLM应用对接。

装上之后,你在Claude对话框里直接发文件,它就能自动用MarkItDown来解析,不需要你手动转换了。

安装也很简单:

pip install markitdown-mcp

对于经常用AI助手处理文档的人来说,这个功能真的太实用了。

几个实用小技巧

1. 转换YouTube视频

pip install 'markitdown[youtube-transcription]'markitdown "https://www.youtube.com/watch?v=你的视频ID"

直接把视频字幕提取成Markdown,做内容整理、写笔记特别好使。

2. 用Docker运行(不想装Python的同学看这里)

docker build -t markitdown:latest .docker run --rm -i markitdown:latest < 你的文件.pdf > output.md

3. 安装OCR插件

如果你的PDF是扫描版的(图片PDF),需要装OCR插件来识别文字:

pip install markitdown-ocrpip install openai

然后在代码里启用插件:

from markitdown import MarkItDownfrom openai import OpenAImd = MarkItDown(    enable_plugins=True,    llm_client=OpenAI(),    llm_model="gpt-4o",)result = md.convert("扫描版文档.pdf")

写在最后

坦率的讲,MarkItDown解决的问题看起来很小,就是文件格式转换嘛。但在AI时代,这个「小问题」其实卡住了无数人。

你有一堆文档想让AI帮你分析,但AI读不了那些格式。你手动复制粘贴,排版全乱了,表格没了,图片不见了。MarkItDown就是那个帮你打通「文件」和「AI」之间最后一公里的桥梁。

微软把它开源出来,MIT许可证,免费用,随便改。10万颗星不是白给的,这是真正的社区投票。

如果你经常跟各种文档打交道,又想用AI来提效,强烈建议收藏这篇文章,找个时间花五分钟装上试试。

你会发现,一行命令能省你几个小时。

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

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~

谢谢你看我的文章,我们,下次再见。