推荐阅读:
1、程序员用Python爬虫做副业半个月就赚了3W
2、一个30岁的程序员无比挣扎的故事,连躺平都是奢望
1、PyMuPDF
简介
介绍
在介绍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”
等。
功能
对于所有支持的文档类型可以:
-
解密文件 - 访问元信息、链接和书签 - 以栅格格式(
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
项目后,开发的重点转移到编写一种新的现代图形图书