文章目录
1、PyMuPDF
简介
1. 资料链接
- github地址: pymupdf/PyMuPDF: Python bindings for MuPDF’s rendering library
- 官方手册: PyMuPDF Documentation — PyMuPDF 1.18.17 documentation
2. 介绍
在介绍PyMuPDF
之前,先来了解一下MuPDF
,从命名形式中就可以看出,PyMuPDF
是MuPDF
的Python
接口形式。
MuPDF
MuPDF
是一个轻量级的 PDF、XPS
和电子书查看器。MuPDF
由软件库、命令行工具和各种平台的查看器组成。
MuPDF
中的渲染器专为高质量抗锯齿图形量身定制。它以精确到像素的几分之一内的度量和间距呈现文本,以在屏幕上再现打印页面的外观时获得最高保真度。
这个观察器很小,速度很快,但是很完整。它支持多种文档格式,如PDF
、XPS
、OpenXPS
、CBZ
、EPUB
和FictionBook 2
。您可以使用移动查看器对PDF
文档进行注释和填写表单(这个功能很快也将应用于桌面查看器)。
命令行工具允许您注释、编辑文档,并将文档转换为其他格式,如HTML、SVG、PDF
和CBZ
。您还可以使用Javascript
编写脚本来操作文档。
PyMuPDF
PyMuPDF
(当前版本1.18.17)是支持MuPDF
(当前版本1.18.*)的Python绑定。
使用PyMuPDF
,你可以访问扩展名为“.pdf”、“.xps”、“.oxps”、“.cbz”、“.fb2”
或“.epub”
。此外,大约10种流行的图像格式也可以像文档一样处理:“.png”,“.jpg”,“.bmp”,“.tiff”
等。
3. 功能
对于所有支持的文档类型可以:
-
解密文件
-
访问元信息、链接和书签
-
以栅格格式(
PNG
和其他格式)或矢量格式SVG
呈现页面 -
搜索文本
-
提取文本和图像
-
转换为其他格式:
PDF, (X)HTML, XML, JSON, text
对于
PDF
文档,存在大量的附加功能:它们可以创建、合并或拆分。页面可以通过多种方式插入、删除、重新排列或修改(包括注释和表单字段)。 -
可以提取或插入图像和字体
-
完全支持嵌入式文件
-
pdf文件可以重新格式化,以支持双面打印,色调分离,应用标志或水印
-
完全支持密码保护:解密、加密、加密方法选择、权限级别和用户/所有者密码设置
-
支持图像、文本和绘图的 PDF 可选内容概念
-
可以访问和修改低级 PDF 结构
-
命令行模块
"python -m fitz…"
具有以下特性的多功能实用程序- 加密/解密/优化
- 创建子文档
- 文档连接
- 图像/字体提取
- 完全支持嵌入式文件
- 保存布局的文本提取(所有文档)
新:布局保存文本提取!
脚本fitzcliy .py
通过子命令“gettext”
提供不同格式的文本提取。特别有趣的当然是布局保存,它生成的文本尽可能接近原始物理布局,周围有图像的区域,或者在表格和多列文本中复制文本。
2、安装
PyMuPDF
可以从源码安装,也可以从wheels
安装。
对于Windows, Linux
和Mac OSX
平台,在PyPI
的下载部分有wheels
。这包括Python 64位版本3.6到3.9
。Windows版本也有32位版本。从最近开始,Linux ARM架构也出现了一些问题——查找平台标签manylinux2014_aarch64
。
除了标准库,它没有强制性的外部依赖项。 只有在安装了某些包时,才会有一些不错的方法:
Pillow
: 当使用Pixmap.pil_save()
和Pixmap.pil_tobytes()
时需要fontTools
:当使用Document.subset_fonts()
时需要pymupdf-fonts
是一个不错的字体选择,可以用于文本输出方法
使用pip
安装命令:
pip install PyMuPDF
导入库:
import fitz
关于命名fitz
的说明
这个库的标准Python
导入语句是import fitz
。这是有历史原因的:
MuPDF
的原始渲染库被称为Libart
。
在Artifex软件获得MuPDF
项目后,开发的重点转移到编写一种新的现代图形图书馆称为“Fitz”
。Fitz
最初是作为一个研发项目,以取代老化的Ghostscript
图形库,但却成为了MuPDF的渲染引擎(引用自维基百科)。
3、使用方法
1. 导入库,查看版本
import fitz
print