一、PyMuPDF简介
PyMuPDF 是 MuPDF 的 Python 接口,MuPDF 是一个轻量级的 PDF、XPS 和电子书查看器。MuPDF 支持多种文档格式,如 PDF、XPS、OpenXPS、CBZ、EPUB 和 FictionBook 2。PyMuPDF 使用户可以访问扩展名为 ".pdf"、".xps"、".oxps"、".cbz"、".fb2" 或 ".epub" 的文件。此外,它还可以处理约10种流行的图像格式,如 ".png"、".jpg"、".bmp"、".tiff" 等。
二、安装
PyMuPDF 可以从源码或 wheels 进行安装。对于 Windows、linux 和 Mac OSX 平台,在 PyPI 的下载部分有 wheels。它支持 Python 3.6 到 3.9 的 64 位版本,Windows 版本也有 32 位版本。对于 Linux ARM 架构,查找 manylinux2014_aarch64 标签。
除了标准库外,PyMuPDF 没有强制性的外部依赖项。安装某些包时,需要 Pillow(用于 PixMap 的 pil_save() 和 pil_tobytes())和 fontTools(用于 Document.subset_fonts())。PyMuPDF-fonts 是一个不错的字体选择,用于文本输出。使用 pip 安装命令:pip install PyMuPDF。
三、使用方法
1. 导入库,查看版本
2. 打开文档
创建 Document 对象 doc,文件名必须是存在的 python 字符串。也可以从内存数据打开文档或创建新的空 PDF。文档还可以用作上下文管理器。
3. Document 方法和属性
| 方法/属性 | 描述 |
| ------ | ------ |
| Document.page_count | 页数 (int) |
| Document.metadata | 元数据 (dict) |
| Document.get_toc() | 获取目录 (list) |
| Document.load_page() | 读取页面
示例:获取元数据、目标大纲。
4. 页面处理
页面处理是 MuPDF 功能的核心。您可以将页面呈现为光栅或矢量(SVG)图像,选择缩放、旋转、移动或剪切页面。您可以提取多种格式的页面文本和图像,并搜索文本字符串。对于 PDF 文档,可以使用更多的方法向页面添加文本或图像。
创建页面 Page,使用 Document 的方法。
页面常用操作包括检查链接、批注或表单字段、呈现页面、保存页面图像、提取文本和图像、搜索文本。
5. PDF 操作
PDF 是唯一可以使用 PyMuPDF 修改的文档类型。其他文件类型是只读的。但是,您可以将任何文档(包括图像)转换为 PDF,然后将所有 PyMuPDF 功能应用于转换结果。通常,您可以选择是保存到新文件,还是仅将修改附加到现有文件(“增量保存”),这通常要快得多。
操作 PDF 文档包括修改、创建、重新排列和删除页面,连接和拆分 PDF 文档,保存和关闭文档。
2. 收藏!3个最佳学习Python编程的开源库
1、learn-python3
这个存储库一共有19本Jupyter笔记本。它涵盖了字符串和条件之类的基础知识,然后讨论了面向对象编程,以及如何处理异常和一些Python标准库的特性等。每一个主题都有一个“notebook”链接,它会向你介绍该主题和一些示例代码,当你完成这些内容之后,还有一个练习链接,点击后你就可以做一些测试题。
项目地址:https://github.com/jerry-git/learn-python3
2、learn-python
这个存储库还可以作为Python的介绍,帮助你从初级水平上升至中级,这里的中级指的是熟练地使用这种编程语言,而不仅仅是简单的循环和算法。该存储库是一个Python脚本集合,每个脚本都是一个核心类别的子主题,比如“操作符”、“数据类型”和“控制流”。
你不必完整地学习该课程,正如作者指出的那样,你还可以将存储库用作备忘单,在需要的时候,快速查找,查看文档,查看代码,然后运行测试,看代码是否能正常运行,是否按照代码准则编写。
项目地址:https://github.com/trekhleb/learn-python/blob/master/src/control_flow/test_if.py
3、full-speed-python
该存储库快速介绍了字符串和列表等基础知识,然后快速深入到更高级的主题,“类”和“异步编程”等,作者在写这本书时采用了一种实用的方法,用代码示例简要介绍了每个主题,然后直接跳到练习问题,让读者可以自己尝试。你可以在项目详情页下载pdf/epub文件。
项目地址:https://github.com/joaoventura/full-speed-python
关于3个最佳学习Python编程的开源库,青藤小编就和您分享到这里了。如果您对python编程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于python编程的技巧及素材等内容,可以点击本站的其他文章进行学习。
3. 关于在linux系统中python第三库的区分和查找
在 Linux 系统中,初学者常会遇到 Python 2 和 Python 3 的版本问题,这可能导致在安装第三方库时不知所措。本文将详细解释如何区分和查找 Python 库的存放路径,以便顺利安装所需库。
在 Debian 和 Ubuntu 等基于 Debian 的 Linux 发行版中,Python 2 的库通常位于以下目录:
/home/pi/.local/lib/python2.7/site-packages
这是使用 pip 安装的第三方库的安装路径。同时,使用 apt-get install 命令安装的低级第三方库也可能存放在:
/usr/lib/python2.7/dist-packages
此目录包含了标准库和 apt-get 安装的库文件。在 Python 3 中,这些目录对应如下:
/home/pi/.local/lib/python3.7/site-packages
使用 pip3 命令安装的第三方库存放于此。
/usr/lib/python3.7
这是 Python 3 自带的标准库目录。
/usr/lib/python3/dist-packages
使用 apt-get install 命令安装的库文件存放于此。
对于 Python 3.7 的库文件,有两个主要存放路径,分别是:
/home/pi/.local/lib/python3.7/site-packages
和
/usr/lib/python3/dist-packages
尽管都是存放第三方库,但它们分别对应 pip 和 apt-get 安装的库,因此位于不同的目录。
接下来,验证两个第三方库:
首先安装 pip3 工具,确保在安装 Python 3 的库时使用正确的命令。以下是安装 SpeechRecognition 和 pyaudio 模块的例子:
pip3 install -i pypi.tuna.tsinghua.e.cn... SpeechRecognition
pip3 install -i pypi.tuna.tsinghua.e.cn... pyaudio
安装 SpeechRecognition 成功,但安装 pyaudio 时出现错误,提示使用 sudo apt-get install python-pyaudio python3-pyaudio 来安装。
确认 SpeechRecognition 库已成功安装在:
/home/pi/.local/lib/python3.7/site-packages
而 pyaudio 库则位于:
/usr/lib/python3/dist-packages
两个库都存放于不同的路径,这可能让人困惑,但实际是基于安装方式(pip 或 apt-get)区分的。
总结:查找 Python 第三方库的位置时,需注意以下路径:
对于 Python 2:
1. /home/pi/.local/lib/python2.7/site-packages (pip 安装的库)
2. /usr/lib/python2.7/dist-packages (apt-get 安装的库)
对于 Python 3:
1. /home/pi/.local/lib/python3.7/site-packages (pip 安装的库)
2. /usr/lib/python3/dist-packages (apt-get 安装的库)
若有疑问或发现错误,请分享您的经验,以便共同进步。