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