开源 Python PDF 解析器库
尝试这个免费的开源 Python 库来解析、读取和提取 PDF 文档中的文本、图像、表格和其他内容。
什么是 PyMuPDF?
PyMuPDF,也称为 Fitz,是一个开源 Python 库,提供一套用于处理 PDF 文件的全面工具。使用 PyMuPDF,用户可以高效地执行各种任务,例如打开 PDF、提取文本、图像和表格、操作页面属性(如旋转和裁剪)、创建新的 PDF 文档以及将 PDF 页面转换为图像。
PyMuPDF 支持以下列出的几种功能:
- PDF 文档阅读:PyMuPDF 可以打开和阅读 PDF 文档,允许您访问其中的文本、图像和其他内容。
- 文本提取:您可以从 PDF 文档中提取文本,包括文本内容、字体和布局信息。
- 图像提取:您可以从 PDF 文档中提取各种格式的图像,例如 JPEG 或 PNG。
- 表格提取:您还可以从 PDF 文档中提取表格。
在本次评测中,我们主要关注该库的提取和解析功能。如需深入评估拆分、合并和页面管理功能,请点击此处。
PyMuPDF 入门
您需要 Python 版本 3.8.0 或更高版本才能安装和使用 PyMuPDF。因此,首先安装 Python,然后使用以下命令通过 pip 和 虚拟环境 在您的机器上安装 PyMuPDF。
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 中提取文本
您可以使用 Python 中的 PyMuPDF 库从 PDF 文档中提取文本并执行文本分析,例如计数单词,只需使用库中提供的函数即可,如下面的代码所示:
输出
下图显示了提取的文本和 PDF 文件中的字数:
从 PDF 中提取图像
我们可以使用 PyMuPDF 库从 Python 中的 PDF 文档中提取图像。下面的代码片段打开指定的 PDF 文件,从 PDF 中提取图像并将其保存在当前工作目录中:
输出
以下是从 PDF 文档中提取的 PNG 图像
从 PDF 中提取表格
我们还可以使用 PyMuPDF 库来处理 PDF 文档并从中提取表格。查看以下代码片段,该代码片段打开指定的 PDF 文件并从 PDF 文档中提取表格:
输出
下面的截图显示了从 PDF 文档中提取的表格:
将文本插入 PDF
下面的 Python 代码片段演示了如何使用 PyMuPDF 库将文本插入 PDF 文件并将修改后的 PDF 保存为 text.pdf:
输出
使用上述代码插入的文本在下面的红色框中突出显示:
使用 PyMuPDF 的 OCR 进行 PDF 文本识别
We will perform OCR on the PDF file containing the following image:输出
下图显示了从所提供的 PDF 文件中的图像中提取的文本:
结论
总而言之,PyMuPDF 是一款专业工具,具有一些明显的优势和劣势。它非常适合 OCR 和文本提取等任务,这使得它在处理 PDF 中的文本方面很有价值。
但是,它在从 PDF 中提取表格方面并不擅长,特别是当 PDF 具有复杂的结构或页数较多时,这对某些用户来说可能是一个缺点。此外,在某些情况下,它可能需要额外的库,如 Pandas 和 Tesseract OCR 语言数据文件,这增加了其使用的复杂性。尽管存在这些限制,PyMuPDF 仍然是处理 PDF 中文本的可靠选择。