PyMuPDF

用 Python 快速提取、转换和编辑 PDF,性能强劲

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 办公效率 🍴 复刻 836 🐛 待处理 70 👀 关注 65
GitHub ↗
GitHub 星标 ★ 11098
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源库,基于AGPL-3.0许可证,可免费使用,无付费版本。

项目预览

PyMuPDF 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类办公效率
开发团队pymupdf
定价模式🏷️完全免费
价格说明开源库,基于AGPL-3.0许可证,可免费使用,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议AGPL-3.0
主要语言Python
技术栈/模型data-science,epub,extract-data,font,mupdf,ocr,pdf,pdf-documents,pymupdf,python,table-extraction,tesseract,text-processing,text-shaping,xps
GitHub 星标★ 11098
上线时间2012-10-06 00:00:00
代码更新2026-11-10
仓库体积356.7 MB
本站数据更新2026-11-10
维护状态活跃
收录时间2026-08-10
浏览次数10

项目介绍

PyMuPDF 是一个高性能的 Python 库,用于 PDF 及其他文档(如 EPUB)的数据提取、分析、转换和操作。它基于 MuPDF 引擎,提供丰富的 API 来解析、渲染和修改 PDF 文件。核心能力包括:从 PDF 中提取文本、图像和元数据;支持 OCR(通过 Tesseract)识别扫描件中的文字;将 PDF 转换为图片或其他格式;创建和编辑 PDF(如合并、拆分、添加水印);以及提取表格数据。其性能优越,处理大型 PDF 文件速度快,内存占用低。它解决了 Python 生态中 PDF 处理库功能不全或性能不足的问题,为开发者提供了一个集解析、转换、编辑于一体的综合工具。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 11098

技术标签

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 3.10 – 3.14(官方预编译 wheel 覆盖范围)
  • Windows / macOS / Linux 操作系统之一
  • 如需 OCR:额外安装 Tesseract 及其语言数据文件(tessdata)
  • 若平台无预编译 wheel:需要 C/C++ 编译工具链

安装与启动步骤

  1. 1确认 Python 版本

    PyMuPDF 为 Python 3.10–3.14 提供预编译 wheel,先确认本地版本落在此区间,避免安装时源码编译。

    python --version
  2. 2安装 PyMuPDF

    README 唯一给出的安装方式,直接通过 pip 安装;无强制外部依赖,正常情况下会下载对应平台的 wheel。

    pip install pymupdf
  3. 3打开 PDF 文档

    导入 pymupdf 并打开目标文件,doc 对象即文档句柄;用 page = doc[0] 取第一页做后续处理。

    python -c "import pymupdf; doc = pymupdf.open('scanned.pdf'); page = doc[0]"
  4. 4OCR 识别扫描件

    对扫描版 PDF 页面调用 get_textpage_ocr,需指定 language 参数,再用 extractText() 取出识别文本。前提是 Tesseract 已安装并在 PATH 中。

    python -c "import pymupdf\ndoc = pymupdf.open('scanned.pdf')\npage = doc[0]\ntext = page.get_textpage_ocr(language='eng').extractText()\nprint(text)"
  5. 5对图片做 OCR

    OCR 可作用于独立图片:先用 Pixmap 载入图片,若带 alpha 通道必须先移除,否则无法进行 OCR。

    python -c "import pymupdf\npix = pymupdf.Pixmap('image.png')\nif pix.alpha:\n    pix = pymupdf.Pixmap(pix, 0)\n"
  6. 6配置 tessdata 路径

    若未安装 Tesseract 或自动发现失败,可通过 tessdata 参数显式指定语言数据目录,或设置 TESSDATA_PREFIX 环境变量。

    export TESSDATA_PREFIX=/your/path/tessdata

关键配置

配置项必填说明示例
language是OCR 识别语言代码,支持 100 多种语言eng
tessdata否显式指定 Tesseract 语言数据目录,避免自动发现失败/your/path/tessdata
TESSDATA_PREFIX否环境变量形式的 tessdata 路径配置/your/path/tessdata

如何确认成功

执行 import pymupdf 无报错即安装成功;对扫描页调用 OCR 后能打印出识别文本即 OCR 可用。

常见问题

Q:OCR 需要额外安装 Tesseract 吗?

A:需要。PyMuPDF 使用 MuPDF 内置的 Tesseract OCR 支持,不依赖 Python 的 pytesseract,但仍需 Tesseract 的语言数据文件 tessdata,并建议安装 Tesseract 使自动发现生效。

Q:没有对应的预编译 wheel 怎么办?

A:pip 会改为从源码编译,此时平台需要具备 C/C++ 编译工具链,编译耗时更长且可能因环境缺失而失败。

Q:需要额外 pip 安装 OCR 相关依赖吗?

A:不需要。PyMuPDF 没有强制的 Python 级 OCR 依赖,OCR 能力由 MuPDF 内置的 Tesseract 支持提供。

Q:图片 OCR 报错怎么办?

A:先检查 Pixmap 是否带 alpha 通道,带的话要用 pymupdf.Pixmap(pix, 0) 移除透明通道,这是 OCR 的前置要求。

注意事项

  • PyMuPDF 无强制外部依赖,pip install pymupdf 即可完成主体安装。
  • OCR 依赖独立的 Tesseract 及其 tessdata 语言数据,需自行安装或配置路径。
  • 未显式提供 tessdata 路径时,自动发现可能调用 tesseract 可执行文件(如列出可用语言)。
  • 预编译 wheel 仅覆盖 Python 3.10–3.14,其他版本需源码编译。

核心亮点

  • 基于 MuPDF 引擎,解析和渲染 PDF 速度极快,尤其适合处理大型文件
  • 功能全面,覆盖文本提取、图像提取、OCR、转换、编辑等常见需求
  • API 设计简洁,文档丰富,上手容易,社区活跃

不足之处

  • 依赖 MuPDF 原生库,安装包体积较大,部署环境可能受限
  • 部分高级功能(如复杂表格结构识别)仍需结合其他工具或手动处理

适用场景

  • 从大量 PDF 中批量提取文本或表格数据,用于数据分析和挖掘
  • 将 PDF 转换为图片或 HTML,用于预览、展示或内容复用
  • 自动化生成或修改 PDF 报告,如添加水印、合并文档、填充表单

替代项目

pdfplumber、PyPDF2、pdfminer.six

上一篇:markitdown

下一篇:Stirling PDF

同类项目推荐

LumaShot 开源

一个快捷键搞定截图标注、离线识字和录屏

Windows screenshot, annotation, offline OCR, clipboard history, GIF and screen recor···

★ 109 2026-11-10
deep-share 开源

一键复制 AI 公式,导出精美 Word,长对话截图分享。

A browser extension designed for AI users to easily copy formulas from ChatGPT, Deep···

★ 146 2026-08-09
pdf2md 开源

浏览器里直接把 PDF 变成 Markdown,不用上传,隐私安全。

Browser based tool to convert PDFs to Markdown

★ 384 2026-08-09
crosspaste-desktop 开源

局域网内多设备剪贴板秒同步,端到端加密不走云

Cross-device clipboard sync for macOS, Windows & Linux — end-to-end encrypted, LAN-···

★ 2693 2026-09-19
dataline 开源

用对话搞定数据分析,不用写SQL也能出图

Chat with your data - AI data analysis and visualization on CSV, Postgres, MySQL, Sn···

★ 1595 2026-08-09
globalthreatmap 开源

一张地图看懂全球军事冲突与历史脉络

Global threat map. Learn wars, conflicts, military bases and history of nations.

★ 1868 2026-08-09
odd-snap 开源

免费开源跨平台截图,带标注和 OCR 文字提取

Your new favorite, free, and open source screenshot tool

★ 2 2026-10-18
teable 开源

像填表格一样建数据库,数据再多也不乱

✨ AI Spreadsheet for Business

★ 21968 2026-08-09
JadeAI 开源

上传旧简历,AI 帮你改出高匹配度新简历

AI-Powered Smart Resume Builder — 50+ professional templates, PDF/image parsing, AI···

★ 2009 2026-08-09