Python 处理 PDF 的神器 -- PyMuPDF(上)
# 1、PyMuPDF简介
1.介绍
在介绍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”等。
# 2. 功能
对于所有支持的文档类型可以:
解密文件
访问元信息、链接和书签
以栅格格式(PNG和其他格式)或矢量格式SVG呈现页面
搜索文本
提取文本和图像
转换为其他格式:PDF, (X)HTML, XML, JSON, text
对于PDF文档,存在大量的附加功能:它们可以创建、合并或拆分。页面可以通过多种方式插入、删除、重新排列或修改(包括注释和表单字段)。
可以提取或插入图像和字体
完全支持嵌入式文件
pdf文件可以重新格式化,以支持双面打印,色调分离,应用标志或水印
完全支持密码保护:解密、加密、加密方法选择、权限级别和用户/所有者密码设置
支持图像、文本和绘图的 PDF 可选内容概念
可以访问和修改低级 PDF 结构
命令行模块"python -m fitz…"具有以下特性的多功能实用程序
加密/解密/优化
创建子文档
文档连接
图像/字体提取
完全支持嵌入式文件
保存布局的文本提取(所有文档)
新:布局保存文本提取!
脚本fitzcliy .py通过子命令“gettext”提供不同格式的文本提取。特别有趣的当然是布局保存,它生成的文本尽可能接近原始物理布局,周围有图像的区域,或者在表格和多列文本中复制文本。