markitdown 快速教程:一条命令把 PDF、Word 和 EPUB 变成 Markdown
【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown
markitdown 是一个把各种文件转成 Markdown 的 Python 工具。PDF、Word、PPT、Excel、EPUB 电子书、图片、音频,它都能转成保留标题和表格的结构化文本,产出可以直接喂给大模型。下面带你从安装到跑通单文件转换,再讲批量处理和插件。
快速上手:装好 markitdown,拿到第一个转换结果
这一节解决"最快把文件转出来"的问题。需要 Python 3.10 或更高版本。
pip install "markitdown[all]" markitdown book.epub -o book.md安装命令里的[all]会装全部格式支持;只想要某几种,可以单独装,比如"markitdown[pdf,docx]"就只覆盖 PDF 和 Word。第二条命令执行完,book.md就生成了;不加-o时结果直接打印在终端。想从源码玩:克隆仓库 https://gitcode.com/GitHub_Trending/ma/markitdown ,再执行pip install -e "packages/markitdown[all]"。
转 EPUB 后你会注意到 Markdown 顶部多了几行加粗字段。markitdown 会解析压缩包里的 content.opf,把书名、作者、出版社等元数据自动提取出来,放在正文前面。
它解决了什么问题
这一节用 3 个场景说明你为什么需要它。
- 把文档喂给大模型问答。GPT-4o 这类模型原生"说"Markdown,训练语料里 Markdown 占比大,token 消耗也低。合同、论文 PDF 转完之后直接进你的对话系统,不用操心页面版式。
- 电子书内容复用。EPUB 本质是一个 zip 包,里面是 HTML 文件加元数据目录,手工解压再清洗很繁琐。markitdown 直接转,保留章节顺序并自动带出元数据,文本可以进你的笔记系统。
- 整理散落的 Office 文件。Excel 表格变成 Markdown 表格,PPT 按幻灯片拆开成文本。会议纪要、财务报表批量进文本库之后,可以直接全文检索。
完整用法:按文件类型转
这一节把 markitdown 的核心能力拆开,每个小节只解决一个任务。
PDF 怎么转
cat example.pdf | markitdown管道输入也支持。正文的标题、列表、表格都会转成 Markdown 结构,输出适合继续做文本分析。
上面是项目测试素材里的一页学术论文,转换后标题、作者行、正文段落都会变成结构化文本。注意它针对的是带文字层的数字 PDF;纯扫描的纸质 PDF 见下面进阶部分。
Word、PPT、Excel 怎么转
命令不变,换文件名即可,如markitdown report.docx -o report.md。Word 保留标题层级,文档里的公式会转成 LaTeX 写法;PPT 按幻灯片切分;Excel 的表格自动变成 Markdown 表格。
图片和音频怎么转
图片会提取 EXIF 元数据(设备、拍摄时间、坐标等)输出成 Markdown 字段;如果你传入了 LLM 客户端,还能顺带生成一句图片描述。wav、mp3 可以转录成文字,需要装[audio-transcription]依赖。YouTube 链接也能直接传,抓字幕后转换,需要[youtube-transcription]依赖。
Python API 怎么用
写自动化流程时,用代码调:
from markitdown import MarkItDown md = MarkItDown() result = md.convert("data.xlsx") print(result.markdown)服务端环境建议改用convert_local(),只处理本地文件,比默认入口更安全。
进阶:批量转换与插件扩展
这一节回答两个问题:"一整目录怎么办"和"能力不够怎么扩"。
🔁 批量:套一层循环就行。
for f in *.pdf; do markitdown "$f" -o "out/${f%.pdf}.md" done插件:markitdown --list-plugins查看已装插件,命令加-p参数启用。官方 markitdown-ocr 插件能给 PDF、Word、PPT、Excel 转换器加 OCR 能力,配合 LLM 客户端读文档里嵌入图片中的文字,扫描件文档走这条路。
常用命令参数记住这张表:
| 参数 | 作用 |
|---|---|
-o | 指定输出文件,默认打印到终端 |
-x | 提示文件扩展名(读 stdin 时有用) |
-m/-c | 提示 MIME 类型 / 文件编码 |
-p | 启用第三方插件 |
-d/--use-cu | 改用 Azure Document Intelligence / Content Understanding 提取 |
--keep-data-uris | 输出中保留 base64 内嵌图片 |
横向对比:markitdown 怎么选
结论先行:要本地、离线、结构化 Markdown,选 markitdown;要还原版式,去找专业排版工具。
| 维度 | markitdown | 在线转换工具 | 手动复制粘贴 |
|---|---|---|---|
| 处理位置 | 完全本地 ✅ | 上传第三方服务器 | 本地 |
| 输出目标 | 结构化文本,给 LLM 和流水线 | 可读页面 | 零散文本 |
| 结构保留 | 标题、表格、列表 | 基础格式 | 容易断裂 |
| 元数据 | EPUB 等自动带出 | 大多丢失 | 没有 |
| 依赖 | Python 3.10+ | 浏览器 + 网络 | 无 |
收尾:什么情况用,什么情况别用
这一节给你 4 条硬判断。
- 用它:文档要进大模型问答、建知识库,或批量整理 Office 文件,都是它的活。
- 用它:文件不能出本地。markitdown 默认路径全程离线,不经过任何服务器。
- 别指望它:像素级排版。官方定位写得很清楚,输出是服务文本分析工具的,不是给你二次出版用的。
- 留意:扫描版 PDF。内置转换器只读文字层,读不到页面里的图,需要加 markitdown-ocr 插件或接云端端点。⚠️
【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考