PyMuPDF
用于管理 PDF 元数据的开源 Python 库
尝试 PyMuPDF,免费开源 Python 库来访问和修改 PDF 文档的元数据。
什么是 PyMuPDF?
PyMuPDF,也称为 Fitz,是一个开源 Python 库,提供许多功能,例如解析 PDF、拆分和合并 PDF 等,但在本页中我们仅讨论 Python 开发人员如何使用 PyMuPDF 库来处理 PDF 元数据相关任务,例如:
- 读取PDF元数据:PyMuPDF支持访问包含作者、标题、主题和创建日期等信息的PDF文档的元数据。
- 修改 PDF 元数据:该库还允许修改 PDF 文档的元数据。
- 读取 XML 元数据:PDF 文档还包含 XML 元数据,它不仅限于作者、标题等标准文档属性,还可以包含其他元数据。使用 PyMuPDF,开发人员也可以阅读它。
- 更改 XML 元数据:开发人员还可以使用 PyMuPDF 库更改 PDF 的 XML 元数据。
PyMuPDF 入门
您需要 Python 版本 3.8.0 或更高版本才能安装和使用 PyMuPDF。因此,首先安装 Python,然后使用以下命令使用 pip 和虚拟环境。
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
苹果系统
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
视窗
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
读取 PDF 元数据
我们可以使用 PyMuPDF 库的 metadata 成员读取 PDF 的元数据,该库包含文档的完整元数据内容。下面的代码片段展示了如何从 metadata 成员获取 PDF 的元数据:
输出
下面的屏幕截图显示了使用 PyMuPDF 从 PDF 检索的元数据:
编辑 PDF 元数据
我们可以使用 PyMuPDF 库编辑 PDF 的元数据,方法是将包含我们想要更改的字段及其新值的字典传递给 set_metadata 方法,如下面的代码片段所示:
读取 PDF 的 XML 元数据
我们可以使用 PyMuPDF 库检索 PDF 的 XML 元数据。我们使用 get_xml_metadata 方法返回整个 XML 元数据,如下面的代码片段所示:
输出
下面的屏幕截图显示了使用 PyMuPDF 从 PDF 检索的 XML 元数据:
更改 PDF 的 XML 元数据
我们可以使用 PyMuPDF 库的 set_xml_metadata 方法设置或更改 PDF 的 XML 元数据。它不像替换文档级元数据那么简单,因为 set_xml_metadata 将接受任何字符串,并用传递给它的字符串替换完整的 XML 元数据。
为了避免无意中删除任何元数据信息,我们首先使用 get_xml_metadata 以字符串形式获取完整的 XML 元数据,然后使用字符串的 replace 方法进行替换最后,我们将包含已更改字段的完整 XML 传递给 set_xml_metadata 方法,该方法会更改 PDF 的整个 XML 元数据。检查下面的代码片段了解详细信息:
结论
总之,PyMuPDF 是执行与元数据操作相关的任务的绝佳工具。我们可以轻松检索和更改 PDF 的元数据信息。然而,set_xml_metadata 方法有一个显着的弱点。此方法接受传递给它的任何字符串,并用它覆盖以前的 XML,这可能会导致无意的信息丢失,为避免此问题,开发人员需要实现其逻辑以确保 XML 元数据的正确修改。