Python 中的 Pdfminer 包

Manav Narula 2022年5月17日
Python 中的 Pdfminer 包

PDF 文件是标准的可移植文档,是最常用的文档格式之一。

我们可以在 Python 中工作和读取不同类型的文件。有几个包可用于处理 PDF 文件。

pdfminer 就是这样一个软件包。它具有处理 PDF 文件和从此类文件中读取文本数据的不同功能。

我们将在下面讨论这个包的一些基础知识。

在 Python 中安装 pdfminer

pdfminer 包不支持最新版本的 Python 3。我们可以在 Python 3 中使用这个名为 pdfminer.six 的包的分支。

我们可以在命令提示符下使用以下 pip 命令安装它。

pip install pdfminer.six

在 Python 中使用 pdfminer

我们可以使用 extract_text() 函数从保存在设备上的 PDF 中提取文本,我们可以使用 extract_text() 函数。我们可以在函数中指定文件的路径。

请参阅以下示例。

from pdfminer.high_level import extract_text
s = extract_text('sample.pdf')
print(s)

输出:

Sample PDF from device

我们可以用不同的方式使用同一个函数。

我们可以使用 open() 函数打开一个 PDF 文件,创建一个文件对象,然后使用这个文件对象来读取数据。为此,我们需要以 rb 模式打开文件。

例如,

from pdfminer.high_level import extract_text
with open('sample.pdf', 'rb') as f:
    s = extract_text(f) 
print(s)

输出:

Sample PDF from device

我们可以使用这个函数从网上读取文件并提取其内容。

首先,我们将使用 requests.get() 函数中的给定 URL 读取文件。可以使用 content() 函数检索其内容。

然后我们将使用 io.BytesIO() 函数将该文件加载到内存中,并使用 extract_pdf() 函数提取其文本。

检查下面的语法。

import io
import requests
r = requests.get(url)
s = extract_text(io.BytesIO(response.content))
print(s)

pdfminer 包在 Python 2.7 之前被广泛使用,但后来由于与 Python 3 的兼容性问题而失去了知名度。

然而,已经出现了新的包,它们提供了一种在 Python 中处理 PDF 文件的更快方法。pyPDF2 就是这样一种可用的替代方案。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python PDF