MuPDF:终极 PDF 文档管理库 #
MuPDF 是什么? #
MuPDF 是一款由 Artifex Software 开发的快速、强大的 PDF 与其他文档格式管理库(SDK),被官方定位为“管理 PDF 文档的终极库”。它把查看、编辑、提取、签名、渲染、注释、涂黑、转换、合并、拆分、压缩等几乎所有常见 PDF 任务,都封装进一个可嵌入的高性能引擎中,并在此基础上衍生出 MuPDF Core、PyMuPDF、MuPDF.js、MuPDF.NET 以及全新的 MuPDF WebViewer 等产品线。
对于需要在自己的软件中处理 PDF 的开发者而言,MuPDF 解决的是“自研 PDF 引擎成本高、第三方库速度慢、格式支持不全面”三大痛点:它既提供底层 C 库以保证像素级渲染精度与低内存占用,也提供 Python、JavaScript/TypeScript、C#、Java、C++ 等语言绑定降低接入门槛。官网显示其下载量已超过 10,000 次、评分 5.0 星,并被全球众多企业采用。无论是构建文档阅读器、批量文档处理流水线,还是网页内嵌 PDF 查看器,MuPDF 都能作为核心引擎使用。
MuPDF 有哪些亮点特色? #
- 一个引擎,覆盖全流程 PDF 任务:官网明确列出 12 项核心能力——提取内容、渲染文档、嵌入 PDF、涂黑敏感内容、创建新 PDF、添加注释标记、解析 PDF、拆分 PDF、格式转换、合并多个 PDF、数字签名、压缩 PDF,几乎无需再引入其他库即可完成整套文档工作流。
- 多格式输入输出,兼容性极强:输入支持 PDF、ePUB、PNG/JPG/BMP/TIFF/GIF、SVG、PNM/PAM、CBZ、XPS;输出支持 PDF、Text、HTML、PostScript、PCL5/PCLM(Mopria)、PWG/CUPS、Proofing、PNG、SVG、PNM/PAM,官方称其为同类产品中“格式支持最全面”的选手。
- 极致性能与轻量内核:MuPDF 核心以 C 语言编写,主打快速与高效,可在低资源设备上实现高质量的“像素级完美”渲染,适合对性能敏感的大批量文档处理场景。
- 多语言绑定,开发者友好:提供 PyMuPDF(轻量 Python 库)、MuPDF.js(Node.js / JavaScript / TypeScript)、MuPDF.NET(C# 语言绑定)、Java 绑定、C++ 绑定以及 WASM 版本,开发者可以用熟悉的技术栈快速接入。
- MuPDF WebViewer:分钟级网页嵌入:全新推出的 PDF WebViewer 基于 MuPDF 引擎构建,官方称其具备“无与伦比的速度、性能与稳定性”,可快速把可定制的文档查看器嵌入网页或应用界面。
- 完整的查看器生态:从 Windows / Linux 的 mupdf-gl(OpenGL,支持目录、Unicode 搜索)与 mupdf-x11 查看器,到 Android 的 MuPDF viewer、MuPDF mini,再到 iOS App Kit 与浏览器端 WASM 查看器,桌面、移动、Web 全平台覆盖。
- 命令行工具集 mutool:内置 mutool draw、clean、convert、extract、merge、info、pages、poster、run 等一整套命令行工具,无需写代码即可批量完成转换、提取、合并、清理等任务。
- 灵活的双重授权模式:开源版本采用 AGPL 协议,可直接下载使用;如需嵌入商业产品且不愿开源代码,可购买商业授权,获得无源码披露义务、完整修改与再分发权利以及官方技术支持。

免费下载 MuPDF #
以下为官方提供的各平台安装包,点击链接即可下载。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| mupdf-1.28.5-windows.zip | MuPDF 1.28.5 Windows 版压缩包(开源授权版本) | 89.9 MB | 夸克网盘 |
说明:官网 Releases 页面提供的是开源(AGPL)授权版本的下载;若需在商业产品中嵌入 MuPDF,请通过官网联系销售获取商业授权。
MuPDF 如何使用? #
MuPDF 既是库也是工具集,普通用户与开发者的使用路径略有不同,下面按最常见的三种场景说明。
场景一:使用命令行工具 mutool 处理文档(适合普通用户)
- 解压下载的
mupdf-1.28.5-windows.zip到任意目录,例如D:\mupdf。 - 将该目录添加到系统环境变量
PATH中,方便在任意路径下调用命令。 - 打开命令提示符(CMD)或 PowerShell,输入
mutool查看可用子命令列表。 - 按需执行任务,例如:
mutool draw -o page%d.png input.pdf:把 PDF 每页渲染为 PNG 图片;mutool convert -o output.pdf input.epub:把 ePUB 转换为 PDF;mutool merge -o merged.pdf a.pdf b.pdf:合并多个 PDF;mutool extract input.pdf:提取 PDF 中的图片与字体资源;mutool clean -gggg -s input.pdf output.pdf:清理并优化 PDF 体积;mutool info input.pdf:查看 PDF 的基本信息与结构。
- 如需要图形界面阅读,可使用随包提供的 mupdf-gl 查看器(Windows / Linux),支持目录跳转、Unicode 搜索等功能。
场景二:在 Python 中使用 PyMuPDF(适合 Python 开发者)
- 执行
pip install pymupdf安装。 - 在代码中
import pymupdf,用pymupdf.open("demo.pdf")打开文档。 - 通过
page.get_text()提取文本、page.get_pixmap()渲染页面、doc.save()保存修改结果。
场景三:在网页或应用中嵌入查看器
- 使用 MuPDF WebViewer 快速嵌入网页端 PDF 查看器(官网提供在线试用 Demo)。
- 或在 Android / iOS 项目中集成官方 App Kit 与示例工程,按文档说明接入原生查看界面。
- 如需商用,先完成商业授权流程再发布。
MuPDF 的常见问题? #
MuPDF 是免费的吗? MuPDF 的开源版本采用 AGPL 协议,可以免费下载和使用。但 AGPL 要求:如果你把它嵌入自己的产品并对外分发,需要一并开源你的代码。若不愿开源,则须向 Artifex 购买商业授权。
MuPDF 和 PyMuPDF 是什么关系? MuPDF Core 是用 C 编写的底层核心库,PyMuPDF 是建立在 MuPDF 之上的轻量级 Python 绑定,让 Python 开发者无需接触 C 代码即可调用 MuPDF 的全部能力。二者同属 Artifex 官方产品线,此外还有 MuPDF.js、MuPDF.NET 等绑定。
MuPDF 支持哪些文档格式? 输入支持 PDF、ePUB、PNG、JPG、BMP、TIFF、GIF、SVG、PNM/PAM、CBZ、XPS;输出支持 PDF、Text、HTML、PostScript、PCL5/PCLM(Mopria)、PWG/CUPS、Proofing、PNG、SVG、PNM/PAM。官网称其为同类产品中格式支持最全面的方案之一。
MuPDF 有图形界面的阅读器吗? 有。Windows 和 Linux 上提供 mupdf-gl(基于 OpenGL,支持目录、Unicode 搜索等)以及更基础的 mupdf-x11 查看器;Android 上有 MuPDF viewer 和 MuPDF mini 两款应用;浏览器端则有 WASM 查看器可直接在网页中打开 PDF。
可以在商业闭源产品中使用 MuPDF 吗? 可以,但需要购买商业授权。官网“Get Licensed to Build without Limits”页面说明,商业授权可解除开源限制,包含无源码披露义务、完整的修改与再分发权利,以及官方技术支持。
遇到 Bug 或想贡献代码怎么办? 官网文档中心说明欢迎外部贡献者提交补丁,需先阅读并签署 Artifex Contributor License Agreement;Artifex Software 同时设有漏洞赏金计划。日常使用问题可在官方论坛与社区讨论。
MuPDF 如何安装? #
Windows
- 从官网 Releases 页面或上方下载链接获取
mupdf-1.28.5-windows.zip。 - 使用解压工具将压缩包解压到不含中文与空格的目录,例如
C:\mupdf。 - 将解压目录加入系统环境变量
PATH(“此电脑”→ 右键属性 → 高级系统设置 → 环境变量)。 - 打开新的命令提示符,输入
mutool -v验证是否安装成功。 - 若需要图形界面,可直接双击目录中的 mupdf-gl 查看器程序。
macOS
- 推荐使用 Homebrew 安装:
brew install mupdf(查看器)与brew install mupdf-tools(命令行工具)。 - 也可从官网下载源码包,按文档执行
make编译安装。 - 安装完成后在终端执行
mutool -v确认版本。
Linux
- Debian / Ubuntu 系:
sudo apt install mupdf mupdf-tools。 - Fedora / RHEL 系:
sudo dnf install mupdf mupdf-tools。 - 也可从官网下载源码自行编译:解压后在源码目录执行
make与sudo make install。
Android / iOS
- Android:可在 Google Play 搜索 MuPDF viewer 或 MuPDF mini 安装;开发者可基于官方 mupdf-android-viewer、mupdf-android-mini 示例工程自行构建。
- iOS:使用官方 iOS App Kit 与示例工程,在 Xcode 中按文档集成。
Python / JavaScript / .NET 开发者
- Python:
pip install pymupdf。 - Node.js / JavaScript / TypeScript:通过 npm 安装 MuPDF.js。
- C#:引入 MuPDF.NET 包。
提示:以上包管理器命令为各平台通用安装方式,若与官网最新说明不一致,请以官网 Releases 与文档中心为准。
MuPDF 如何卸载? #
Windows
- 如果使用解压版:直接删除解压目录(如
C:\mupdf)即可。 - 别忘了从系统环境变量
PATH中移除对应条目。 - 如果通过安装程序安装:打开“设置 → 应用 → 已安装的应用”,找到 MuPDF 相关条目点击“卸载”。
- 如需彻底清理,检查
%APPDATA%与%LOCALAPPDATA%下是否残留 MuPDF 配置目录并手动删除。
macOS
- 若通过 Homebrew 安装:
brew uninstall mupdf与brew uninstall mupdf-tools。 - 若为手动编译安装:在源码目录执行
sudo make uninstall(如项目提供该目标),否则手动删除/usr/local/bin/mutool、/usr/local/lib/libmupdf*等相关文件。 - 如曾将应用拖入“应用程序”文件夹,直接拖入废纸篓并清空。
Linux
- Debian / Ubuntu 系:
sudo apt remove --purge mupdf mupdf-tools,再执行sudo apt autoremove清理依赖。 - Fedora / RHEL 系:
sudo dnf remove mupdf mupdf-tools。 - 源码安装的:在源码目录执行
sudo make uninstall,或手动删除/usr/local下的可执行文件与库文件。
Python / Node.js / .NET 环境
- Python:
pip uninstall pymupdf。 - Node.js:
npm uninstall mupdf。 - .NET:从项目中移除 MuPDF.NET 包引用即可。
提示:MuPDF 本体基本不写入用户级配置,卸载后通常无需额外清理;但若你使用查看器保存过最近打开记录等偏好设置,建议检查用户主目录下的相关配置文件夹并手动删除。
