开源 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 和虚拟环境。
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:
输出
使用上述代码插入的文本在下面给出的红色框中突出显示:
使用 OCR 和 PyMuPDF 进行 PDF 文本识别
We will perform OCR on the PDF file containing the following image:输出
下图显示了从所提供的 PDF 文件中的图像中提取的文本:
结论
总之,PyMuPDF 是一个专业工具,具有一些明显的优点和缺点。它非常适合 OCR 和文本提取等任务,这使得它对于处理 PDF 中的文本很有价值。
然而,它不太擅长从 PDF 中提取表格,特别是当 PDF 结构复杂或页数较多时,这对某些用户来说可能是一个缺点。此外,在某些情况下,它可能需要额外的库,例如 Pandas 和 Tesseract OCR 语言数据文件,从而增加了其使用的复杂性。尽管存在这些限制,PyMuPDF 仍然是处理 PDF 中文本的可靠选择。