news 2026/6/10 2:07:19

PyMuPDF:这个 Python 库,把 PDF 所有操作都覆盖了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyMuPDF:这个 Python 库,把 PDF 所有操作都覆盖了

文章目录

  • PyMuPDF:这个 Python 库,把 PDF 所有操作都覆盖了
    • 1、它到底能做什么
    • 2、PDF 场景下,能做的不止阅读
    • 3、安装不折腾
    • 4、适合什么场景
    • 5、许可和注意事项

PyMuPDF:这个 Python 库,把 PDF 所有操作都覆盖了

PyMuPDF 在 GitHub 上已经拿到 9,757 Star 了。

Artifex 公司维护的 Python 绑定库,底层跑的是 MuPDF 引擎。PDF、XPS、EPUB、CBZ 这些文档格式,加上 PNG、JPG 等 10 种图片格式,全部能当文档来操作。

1、它到底能做什么

先搞清楚它的位置:PyMuPDF 不是从头写的 Python PDF 库,而是给 MuPDF 这个 C 渲染引擎加了一层 Python 绑定。MuPDF 由 Artifex 开发,出名的是渲染质量和速度,2022 年 8 月发了 1.21.0 版本。

对所有文档类型均可执行的操作:

  • 解密文档
  • 读取元信息、链接和书签
  • 页面渲染为 PNG 或 SVG
  • 文本搜索
  • 提取文本和图片
  • 格式转换:PDF、HTML、XML、JSON、纯文本
  • 配合 Tesseract 实现 OCR

列表不长,但已覆盖了文档处理的大部分环节。渲染和提取这两个能力放在一个库里,意味着你不用再分别装 PDF 查看器和文本提取工具。

2、PDF 场景下,能做的不止阅读

如果处理对象是 PDF,能力还会扩大一圈:

  • 创建、合并、拆分 PDF
  • 插入、删除、重排页面
  • 修改页面内容,含注释和表单字段
  • 提取或插入图片、字体
  • 字体子集化,缩小新建 PDF 的文件体积(需装 fontTools)
  • 对嵌入式文件的完全支持
  • 双面打印排版、海报化、添加水印
  • 密码保护:解密、加密、权限设置、用户/所有者密码
  • 访问和修改底层 PDF 结构

跟纯读写的 PDF 库不同,PyMuPDF 在修改和创建这两条线上都给到了接口。你可以在一个库里完成从读、改、写到输出的闭环。

仓库还内置了命令行入口:python -m fitz,能在终端完成加密解密、合并文档、提取图片字体、保留版式的文本提取。不需要每次写脚本才能用。

另外值得提的是它和 PIL/Pillow 的对接很顺畅。在文档流水线里,PyMuPDF 可以当中间层处理图片格式转换,读入多种格式,输出 PNG、PNM、PAM、PostScript 或 Photoshop 格式。这意味着你不用为图片中间处理再引入额外的图形库。

官方仓库提供了 demo 脚本、完整示例程序和 Jupyter notebook。其中有一个 GUI 脚本,能让你以可视化的方式对 PDF 中的图片进行插入、删除、替换和重定位。

3、安装不折腾

没有强制性外部依赖。Python 3.7 及以上即可。

pipinstall--upgradepip pipinstall--upgradepymupdf

预编译 wheel 覆盖 Windows(32/64 位)、Linux(64 位 Intel 和 ARM)、macOS(64 位 Intel)。如果 pip 在本平台找不到匹配的 wheel,会从源码编译,只要求系统装了 SWIG。

几个可选增强:

  • Pillow:直接用 pillow 做图片输出
  • fontTools:字体子集化,新建 PDF 时显著缩小体积
  • pymupdf-fonts:提供字体用于文本输出
  • Tesseract-OCR:OCR 能力,需单独安装 Tesseract 并设TESSDATA_PREFIX环境变量

4、适合什么场景

  • 自动化文档处理流程,用 PyMuPDF 替代多个工具的串联。比如批量提取 PDF 中的图片和文字,一个库打通
  • 从 PDF 中提取结构化数据,它的文本提取默认保留版式,不像某些方案输出结果是打乱的
  • 做文档转换管线,支持的输入输出格式够广
  • PDF 生成、合并、拆分、加水印这类运维脚本
  • 需要 OCR 的文档数字化项目
  • 对图片做格式转换,不想引入额外图形库的场景

5、许可和注意事项

PyMuPDF 使用 AGPL 开源协议。用于商业项目时,要评估 AGPL 对衍生代码的要求。AGPL 的 copyleft 范围比 MIT 或 Apache 更大,如果你的产品是闭源的,需要确认合规。如果 AGPL 与你的使用场景有冲突,Artifex 提供商业许可。

这个库从 2016 年起就在 PyPI 上持续维护,文档用 Sphinx 生成,托管在 Read the Docs,含教程和 FAQ 章节。遇到问题可以通过 Discussions 和 Issues 找维护者。

,文档用 Sphinx 生成,托管在 Read the Docs,含教程和 FAQ 章节。遇到问题可以通过 Discussions 和 Issues 找维护者。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 2:06:09

谷歌seo优化服务商优选

谷歌SEO优化服务商优选:用这五把“尺子”,选出真正靠谱的合作伙伴在帮助企业做搜索流量咨询的十几年里,我反复被问到同一个问题:“市面上那么多谷歌SEO优化服务商,到底哪家值得选?”这个问题背后&#xff0…

作者头像 李华
网站建设 2026/6/10 2:05:37

抗垢水路:SEGE在硬水地区保持清爽

对很多家庭来说,卫浴空间老化的第一道痕迹并不是结构损坏,而是水垢。花洒出水孔逐渐堵塞,龙头表面留下白色痕迹,玻璃与金属在反复擦洗后失去光泽。SEGE品牌将这些日常问题视为卫浴体验的一部分,而不是售后维护中的附属…

作者头像 李华
网站建设 2026/6/10 2:05:35

QQ本地缓存机制初步探寻

起因是在电脑上我想将一个QQ文件存放到其他文件夹下,而在QQ缓存文件夹下(...\Tencent Files\电脑登录的qq号\nt_qq\nt_data\,右键选择打开文件夹就可以快速找到对应文件的存放位置)对一个视频文件进行了重命名,在QQ中想要再预览同一个视频的时…

作者头像 李华
网站建设 2026/6/10 2:05:31

Boss-Key:终极窗口隐私保护神器,一键隐藏桌面窗口的完整指南

Boss-Key:终极窗口隐私保护神器,一键隐藏桌面窗口的完整指南 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 在开放…

作者头像 李华
网站建设 2026/6/10 2:02:42

Smart-SIM工程案例—船舶筏架力学性能快速预测

船舶隔振筏架设计的一大痛点,是变几何构型多载荷工况双变量下的迭代难题。工程设计中筏架结构尺寸与安装形式多变,叠加载荷差异,衍生海量组合工况。传统有限元需反复修改模型、重划网格、逐组计算,迭代繁琐、周期极长。本次依托Sm…

作者头像 李华
网站建设 2026/6/10 2:01:12

终极指南:5分钟在Mac上实现Android手机USB网络共享

终极指南:5分钟在Mac上实现Android手机USB网络共享 【免费下载链接】HoRNDIS Android USB tethering driver for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/ho/HoRNDIS 还在为MacBook在户外找不到Wi-Fi而烦恼吗?想让你的Android手机变成…

作者头像 李华