
pymupdf4llm
把 PDF 一键转成 LLM 爱读的 Markdown
pymupdf4llm 是 PyMuPDF 官方推出的轻量级 Python 库,专门把 PDF 文档快速转换成适合大语言模型使用的 Markdown 文本。它解决的核心问题是:原始 PDF 里文字、表格、图片、多栏排版混杂,直接丢给 LLM 效果差且 token 浪费。该库基于 PyMuPDF 的解析能力,能识别标题层级、列表、表格、图片,并输出结构清晰的 Markdown,同时保留页码与图片提取选项,方便做 RAG 检索或文档问答。它支持逐页处理、批量转换,也提供 LlamaIndex 等框架的集成示例,安装简单、依赖少,适合需要把大量 PDF 喂给模型做知识库、摘要或问答的开发者。
项目数据
使用教程
环境要求
- 可运行 Python 的环境(本库为 Python 包)
- pip 包管理工具
- 如需处理扫描版 PDF,需另行安装 Tesseract 及其语言包
- 无需 GPU、无需云端服务、不消耗 Token
安装与启动步骤
-
1安装 pymupdf4llm
一条 pip 命令即可完成安装,会自动安装或升级 PyMuPDF 与 PyMuPDF Layout 依赖。
pip install pymupdf4llm -
2安装 Tesseract(可选)
仅处理扫描件或需要 OCR 时需要。README 只说明要安装 Tesseract 及所需语言包,未给出具体命令,请按系统方式自行安装。
-
3编写转换脚本
新建 Python 文件,导入库并调用 to_markdown 传入 PDF 路径,返回结果即 LLM 友好的 Markdown 文本。
import pymupdf4llm md = pymupdf4llm.to_markdown("research-paper.pdf") -
4运行并接入下游
执行脚本,把得到的 md 字符串直接喂给 LLM、向量库或分块器;扫描件同样用该接口,会自动 OCR。
python convert.py
如何确认成功
脚本运行无报错并返回 Markdown 字符串,内容中出现识别出的标题、表格等结构化文本,即表示转换成功。
常见问题
Q:需要 GPU 或调用云端 API 吗?
A:不需要。README 明确说明无需 GPU、云端和 Token,只要机器能跑 Python 即可本地运行。
Q:扫描版 PDF 能处理吗?
A:可以。库内置智能 OCR,只对需要识别的区域做 OCR,跳过干净文本;但需先安装 Tesseract 及对应语言包。
Q:安装时会连带装什么?
A:pip install pymupdf4llm 会自动安装或升级 PyMuPDF 与 PyMuPDF Layout 两个依赖。
Q:支持哪些输出格式?
A:README 说明开箱支持 Markdown、JSON 和纯文本三种输出,示例展示的是 to_markdown。
注意事项
- 默认行为无需任何配置,安装后即可直接转换。
- OCR 依赖 Tesseract,README 未给出具体安装命令,需按操作系统自行安装语言包。
- 该库只做 PDF 到 Markdown 的转换,不包含向量库或问答服务,需自行接入下游。
核心亮点
- 基于 PyMuPDF 解析,转换速度快、依赖轻,无需额外模型或 GPU
- 输出保留标题、列表、表格和图片结构,比纯文本抽取更适合 RAG
- 官方维护,提供逐页、批量及 LlamaIndex 集成示例,上手成本低
不足之处
- 复杂版式(多栏、扫描件、公式)转换质量有限,扫描件仍需 OCR 配合
- 功能聚焦 PDF 转 Markdown,缺少分块、向量化等下游能力
适用场景
- 把企业 PDF 手册批量转成 Markdown 构建 RAG 知识库
- 将论文、报告转为结构化文本后喂给 LLM 做摘要与问答
- 在 LlamaIndex/LangChain 流程中作为 PDF 加载器使用
替代项目
marker、unstructured、docling
项目介绍
上一篇:PPT-Design-Skill
下一篇:LLMFeeder
同类项目推荐
sunshine-control-panel
开源
一站式管理游戏库、监控内存,AI 助手加持,让大屏启动更高效。
Sunshine Foundation 大屏桌面管理器 | Tauri + Vue 3,游戏库管理、米塔AI助手、内存监控···
Stirling PDF
开源
本地部署 PDF 工具箱
#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere
obsidian-md2wechat
开源
一键将 Obsidian 笔记排版成公众号文章,告别手动调格式
Obsidian → WeChat | Obsidian 插件一键排版发布到微信公众号,键排版发布到微信公众号:···
pdf2md
开源
浏览器里直接把 PDF 变成 Markdown,不用上传,隐私安全。
Browser based tool to convert PDFs to Markdown