一条命令把 PDF、Word、Excel 全变成 Markdown?MarkItDown 完整上手指南
2026/9/16 8:13:37 网站建设 项目流程

一条命令把 PDF、Word、Excel 全变成 Markdown?MarkItDown 完整上手指南

【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown

MarkItDown 是一个轻量级 Python 工具,能把 PDF、Word、Excel、PPT、图片、音频等几十种文件,一条命令转成 Markdown。如果你需要把文档批量喂给大模型、做全文检索或文本分析,它能帮你省掉为每种格式单独写解析器的麻烦。

为什么要把文档变成 Markdown 再喂给 LLM

想象一下这个场景:你手里有几十份 PDF 合同、十几张 Excel 报价单、一摞 Word 会议纪要,想让大模型帮你总结。直接把二进制文件丢进去是不行的——LLM 只认文本。

这时候 Markdown 的价值就出来了。它接近纯文本,没有花哨格式,却保留了标题、列表、表格、链接这些结构信息,而且对大模型来说非常"省 token"。你可以把它理解成"LLM 最友好的中间格式"。MarkItDown 做的就是这件脏活:从各种原始格式里把内容抽出来,按 Markdown 的结构重新组织好,直接可喂给 GPT、Claude 等模型。

它的输出是面向文本分析工具的,所以偶尔不如"排版软件"那样美观,但标题层级、表格结构基本都在,够你做了。

30秒上手:安装 MarkItDown 并跑通第一次转换

先装包,[all]参数会装上所有格式的依赖:

pip install 'markitdown[all]'

装完立刻试一条命令,把任意 PDF 转成 Markdown:

markitdown path-to-file.pdf > document.md

怎么判断成功了?打开document.md,如果看到的是# 标题这样的 Markdown 标记、还有保留下来的表格和列表,而不是乱码,就成了。

如果你习惯从源码安装,clone 下来装到packages/markitdown目录即可:

git clone https://gitcode.com/GitHub_Trending/ma/markitdown cd markitdown pip install -e 'packages/markitdown[all]'

实战演示:三个最典型的用法

一条命令转换 PDF,并指定输出文件

想干嘛:把手头的 PDF 变成.md文件,不想手动重定向。

怎么跑:-o参数直接指定输出文件,比>更直观:

markitdown path-to-file.pdf -o document.md

得到什么:一个结构完整的 Markdown 文件,大致长这样:

# REPAIR-2022-INV-001 ## Customer Information Acme Plumbing Co. ## Line Items | Description | Qty | Amount | | ------------------ | --- | -------- | | Valve replacement | 1 | 180.00 | | Labor | 2 | 140.00 |

标题、表格、键值对都被还原成了 Markdown 结构,后续无论是给 LLM 还是做检索都能直接用。

Python API 转换 Excel 表格

想干嘛:把 Excel 报价单转成 Markdown 表格,嵌进自己的流程里。

怎么跑:三行代码搞定:

from markitdown import MarkItDown md = MarkItDown() result = md.convert("test.xlsx") print(result.text_content)

得到什么:终端里直接打印出 Markdown 表格:

| 产品 | 数量 | 单价 | | ------ | ---- | ------- | | 咖啡豆 | 2 | 64.00 |

result.text_content拿到的就是完整 Markdown 字符串,你可以再加工,比如直接拼进 prompt。

让 LLM 描述图片,自动写进 Markdown

想干嘛:文档里有插图,希望 LLM 顺便把图片内容"说"出来。

怎么跑:传入一个 OpenAI 兼容的llm_client和模型名即可:

from markitdown import MarkItDown from openai import OpenAI md = MarkItDown( llm_client=OpenAI(), llm_model="gpt-4o", ) print(md.convert("test_llm.jpg").text_content)

得到什么:图片对应的 Markdown 里会多出一段 LLM 生成的描述,比如"图中有一个红色圆形和一个蓝色正方形……"。不配llm_client时它也能提取 EXIF 元数据(拍摄时间、尺寸等),只是没有描述文字。

进阶技巧:新手最常踩的三个坑

坑一:报"格式不支持",多半是没装对应依赖。markitdown基础包不带全部格式支持,想只装需要的,可以按格式选装,更省空间:

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

坑二:插件默认是关闭的。如果你装了第三方插件(比如 OCR 插件),记得显式开启,命令行加--use-plugins,API 里写MarkItDown(enable_plugins=True)

坑三:别把不可信的文件直接丢给它。MarkItDown 会以当前进程的权限读写文件和网络资源。处理来源不明的文件时,建议先用convert_local()convert_stream()这类最小范围的接口,而不是对任意 URL 直接convert()

另外记住一个环境要求:Python 3.10 以上,低于这个版本装不上。

还能延伸到哪里

官方仓库里还有一系列可以按需叠加的能力:markitdown-ocr插件能给 PDF、Word、PPT 里嵌入的图片做 OCR;音频文件支持语音转录,YouTube 链接可以抓取字幕;追求更高质量时还可以接 Azure Document Intelligence 走云端解析。用到哪步装哪步,不用一次全上。

【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询