MarkItDown 怎么用:把 PDF、Word、Excel、PPT 转成 Markdown(安装、命令行与 Python)

微软的 MarkItDown 是什么、怎么安装使用?按官方 README 讲清它支持的文件格式、为什么转成 Markdown、pip 安装与可选依赖、三种命令行写法、Python 调用、让大模型给图片写描述、插件与 OCR、MCP 服务器,以及处理不可信文件时的安全提示。

NNathaniel bigo··原创首发·AI 辅助撰写
7 分钟读完
资料核对于 2026-10-11 · 依据官方文档与公开资料整理 免费账号 账号
本文根据微软 MarkItDown 官方仓库 README 整理,资料核对于 2026-10-11。文中代码和命令取自官方 README,没有在本机运行验证。

适用于谁

  • 搜「markitdown 使用」「markitdown 怎么用」「markitdown 安装」的人;
  • 经常要把 Word、Excel、PPT、PDF 的内容贴给大模型,想要一条命令转成干净文本的人;
  • 在写处理文档的脚本或智能体,需要一个轻量的「任意文件转文本」组件的人。

结论先说

  1. MarkItDown 是微软开源的一个轻量 Python 工具,把各种文件转成 Markdown,用于大模型和文本分析流程。
  2. 格式覆盖很广:PDF、PowerPoint、Word、Excel、图片、音频、HTML、CSV / JSON / XML、ZIP、YouTube 链接、EPub。
  3. 安装:pip install 'markitdown[all]',需要 Python 3.10 到 3.14。
  4. 最常用的一条命令:markitdown 文件 -o 输出.md。
  5. 它以当前进程的权限读文件。在服务端处理用户上传的、来源不可信的文件时,要按官方的安全提示限制输入。

一、为什么是 Markdown

README 的解释:Markdown 非常接近纯文本,同时又保留了文档的结构(标题、列表、表格、链接);主流的大模型对它理解得很好;而且它的写法很省 token。

也就是说,目标不是做出一份排版精美的文档给人看,而是给模型一份结构清楚、没有多余格式噪声的输入。

二、支持的格式

类型说明
PDF
PowerPoint、Word、Excel
图片EXIF 元数据和 OCR
音频EXIF 元数据和语音转写
HTML
文本类格式CSV、JSON、XML
ZIP逐个处理压缩包里的文件
YouTube 链接
EPub

三、安装

bash
pip install 'markitdown[all]'

[all] 会装上所有格式需要的依赖。只需要其中几种时,可以按需选择,例如:

bash
pip install 'markitdown[pdf, docx, pptx]'

README 列出的可选项有 [pptx]、[docx]、[xlsx]、[xls]、[pdf]、[outlook]、[az-doc-intel]、[audio-transcription]、[youtube-transcription] 等。

Windows 的命令提示符不把单引号当作引号,改用双引号:pip install "markitdown[all]"。

四、命令行

三种写法:

bash
markitdown path-to-file.pdf > document.md
markitdown path-to-file.pdf -o document.md
cat path-to-file.pdf | markitdown
  • 第一种把结果重定向到文件;
  • 第二种用 -o 指定输出文件;
  • 第三种从标准输入读取,适合接在管道里。

五、Python 调用

python
from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.markdown)

convert 接收文件路径,返回的结果对象里 markdown 属性就是转换后的文本。

批量转换一个文件夹,就是遍历文件、逐个调用 convert、把 result.markdown 写到同名的 .md 文件里。

六、让大模型给图片写描述

图片本身没有文字时,可以接一个多模态模型来生成描述。README 说明这项功能目前用于 PPTX 和图片文件:

python
from markitdown import MarkItDown
from openai import OpenAI

client = OpenAI(max_retries=5)
md = MarkItDown(llm_client=client, llm_model="gpt-4o", llm_prompt="optional custom prompt")
result = md.convert("example.jpg")
print(result.markdown)

这会调用模型接口,产生费用,并且图片内容会发送给模型服务商。处理内部资料前先确认是否允许。

七、插件与 OCR

插件默认是关闭的:

bash
markitdown --list-plugins
markitdown --use-plugins path-to-file.pdf

README 提到的 markitdown-ocr 插件,给 PDF、DOCX、PPTX、XLSX 的转换加上基于大模型视觉能力的 OCR,用 pip install markitdown-ocr 安装。官方说明:没有提供 llm_client 时,OCR 会被跳过,仍然使用标准的转换器。

所以扫描版 PDF(每页是一张图片)用默认方式转出来可能是空的或者很少,这时需要 OCR 插件,或者换用带版面识别的工具,见《Docling 使用教程》。

另外还可以接 Azure 的 Document Intelligence 服务来转换:

bash
markitdown path-to-file.pdf -o document.md -d -e "<document_intelligence_endpoint>"

八、Docker 与 MCP

Docker(在克隆下来的仓库目录里构建):

sh
docker build -t markitdown:latest .
docker run --rm -i markitdown:latest < ~/your-file.pdf > output.md

MCP 服务器:官方提供了 markitdown-mcp 这个包,即 MarkItDown 的 MCP 服务器,接入支持 MCP 的客户端后,智能体可以自己调用它来转换文件。配置方法见该包的说明;MCP 的基本用法见《Claude Desktop MCP 配置教程》。

九、安全提示

README 的原话是:MarkItDown 以当前进程的权限执行读写。并给了两条建议:

  • 对不可信的输入要先做清理和校验;
  • 只处理本地文件时用 convert_local();需要对输入有最大程度的控制时用 convert_stream()。

背景是:它支持的输入里既有本地文件也有网址(如 YouTube 链接)。如果你的服务把用户提交的字符串原样传给转换函数,对方就可能让你的服务器去读取本机文件或访问不该访问的地址。做成在线服务时,这一点必须处理。

常见问题

Q:转出来的 PDF 表格是乱的?

MarkItDown 定位是轻量转换。表格复杂、双栏排版、扫描件这类情况,用版面理解能力更强的工具,见《Docling 使用教程》和《MinerU 是什么》。

Q:ChatGPT、Claude 不是能直接读 PDF 吗,还要它干什么?

聊天产品里直接上传确实方便。需要它的场景是:批量处理、写进自己的程序、导入知识库之前的预处理,或者想先看看模型实际「读到」的文本是什么样。上传文件的限制见《Claude 文件上传限制》。

Q:命令找不到?

确认是在装了它的那个 Python 环境里运行;用虚拟环境的话先激活。也可以用 python -m pip show markitdown 确认是否安装成功。

Q:能保留图片吗?

它的输出是文本。图片内容可以通过第六节的方式变成一段文字描述;输出里是否保留图片引用,以官方说明和实际结果为准。

参考资料

  • microsoft/markitdown(官方仓库与 README):https://github.com/microsoft/markitdown

Nathaniel 的更多内容

  1. 01

    ChatGPT 个人资料怎么改:头像、名字、用户名在哪设置,个人主页怎么公开和关闭

    想换 ChatGPT 的头像、改显示的名字,或者看到别人分享的 chatgpt.com/u/ 开头的主页链接?本文按官方帮助中心讲清个人资料页在哪打开、能改哪些信息、名字改了不生效怎么办,个人主页上会显示什么、怎么公开和收回,以及公司工作区里的不同规则。

    ChatGPT0
  2. 02

    ChatGPT Space 是什么、怎么用:页面(Pages)怎么创建和编辑、多人协作与分享权限

    ChatGPT 侧边栏多了个 Space,文件库却不见了?Space 是放页面、文件和成果的新地方,页面可以让 ChatGPT 起草、多人一起编辑。本文按官方帮助中心讲清谁能用、Space 和项目 / 文件库的关系、怎么创建和整理页面、分享后别人能看到什么,以及手机上的限制。

    ChatGPT0
  3. 03

    ChatGPT 录音模式(Record)怎么用:录会议自动出纪要,按钮不见了、没有声音怎么办

    ChatGPT 的录音功能(Record)可以在 Mac 上边录边转写,结束后自动生成会议纪要。本文按官方帮助中心讲清谁能用、怎么开始和结束、单次能录多久、录音会不会被保存和训练,以及 Record 按钮不见、权限报错、找不到纪要时的处理办法。

    ChatGPT0
  4. 04

    ChatGPT 购物研究怎么用:从选商品到拿到购买指南,结果准不准、和普通购物结果的区别

    ChatGPT 的购物研究(shopping research)能帮你比较商品、列出取舍,最后给一份个性化的购买指南。本文按官方帮助中心讲清现在从哪里启动、过程中怎么调整、指南里有什么、价格和库存为什么可能不准,以及虚拟试穿、收藏商品这些相关功能。

    ChatGPT0
  5. 05

    ChatGPT 群聊功能还能用吗:2026 年 7 月起停止新建,旧群聊怎么办、用什么替代

    想找 ChatGPT 的群聊(群组对话)入口却找不到?这个功能是 2025 年底的一次试点,官方已从 2026 年 7 月 9 日起停止新建和加入。本文按官方帮助中心讲清时间线、已有群聊会怎样、历史记录还在不在,以及现在多人协作可以改用的三种官方功能。

    ChatGPT0
  6. 06

    ChatGPT 深色模式怎么开:夜间模式、主题颜色、对比度与字体大小在哪设置

    想把 ChatGPT 换成深色(夜间)模式、改掉蓝色的消息气泡,或者把字调大?本文按官方帮助中心讲清网页、Windows、iPhone、安卓各自的入口,外观、对比度、强调色、文字大小四个设置分别管什么、哪些会跨设备同步,以及「为什么突然变蓝了」等常见问题。

    ChatGPT0

同产品的其他教程

  1. 01

    AI 幻觉是什么、怎么解决:用 AI 搜索时核实信息的七步检查法

    AI 幻觉是什么意思、怎么减少?讲清 AI 为什么会一本正经地说错,哪些内容最容易出错,并给出用 ChatGPT、Claude、Gemini、Grok 搜索时可照做的七步核查法:开联网、要来源、点开原文、看日期、找第二来源、反问、重要的事问人。

    ChatGPT其他 AI 工具0
  2. 02

    Seedance 2.0 怎么用:在即梦里用多模态参考生成视频(含提示词写法要点)

    Seedance 2.0 怎么用?本文讲清它在即梦里的入口和几个版本的区别,「全能参考」怎么同时放图片、视频、音频,编辑和延长视频怎么做,提示词怎么引用素材,以及 2.5 新增了什么、怎么收费去哪看。

    其他 AI 工具0
  3. 03

    pgvector 是什么、怎么安装和使用:在 PostgreSQL 里存向量、查最近邻、建索引

    pgvector 是什么、怎么安装使用?按官方 README 讲清它给 PostgreSQL 加了什么、源码与 Docker 两种安装方式、四条 SQL 完成建表插入查询、六个距离运算符的含义、HNSW 与 IVFFlat 两种索引怎么选怎么调,以及 2000 维的索引上限怎么绕过。

    其他 AI 工具0
  4. 04

    即梦对口型与数字人怎么用:一张图 + 文字或音频生成说话视频(含动作模仿)

    即梦对口型在哪、数字人怎么做?本文讲清「数字人」入口、角色图要求、输入文字配音或上传音频的两种方式、给已有视频重新对口型的限制、动作模仿怎么用,以及对口型失败的常见原因和真人肖像授权要求。

    其他 AI 工具0
  5. 05

    Cline 怎么用:安装、配置 API 与自定义模型、Plan / Act 模式、规则与 MCP 配置

    Cline 配置教程:在 VS Code / JetBrains 安装扩展、三种接入方式(Cline Provider、ClinePass、自带 Key)、用 OpenAI 兼容接口配置 DeepSeek 等自定义模型、Plan 与 Act 模式、.clinerules 规则、自动批准与 MCP 设置,按官方文档整理。

    其他 AI 工具0
  6. 06

    Dify 知识库搭建教程:上传文件、分段设置(通用与父子模式)、索引方式与检索设置

    Dify 知识库怎么搭建、分段怎么设?本文按 Dify 官方文档讲清创建知识库的四步、上传限制、通用模式与父子模式的区别、分隔符和分段最大长度怎么填、高质量与经济两种索引、向量 / 全文 / 混合检索与 TopK、Score 阈值的含义。

    其他 AI 工具0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~