溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python基于pdfminer庫提取pdf文字的方法

發(fā)布時(shí)間:2021-04-25 13:41:18 來源:億速云 閱讀:410 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹python基于pdfminer庫提取pdf文字的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Python的優(yōu)點(diǎn)有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴(yán)格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

安裝pdfminer 庫

windows 下安裝pdfminer3k

pip install pdfminer3k

Liunx 下安裝pdfminer

pip install pdfminer

代碼

from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBoxHorizontal
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed, PDFResourceManager, PDFPageInterpreter
def pdfParse(path):
"""
pdf文字提取
:param path:文件路徑
:return: 每頁結(jié)果列表
"""
fp = open(path, 'rb') # 以二進(jìn)制讀模式打開
# 用文件對象來創(chuàng)建一個(gè)pdf文檔分析器
praser = PDFParser(fp)
# 創(chuàng)建一個(gè)PDF文檔
doc = PDFDocument()
# 連接分析器 與文檔對象
praser.set_document(doc)
doc.set_parser(praser)
# 提供初始化密碼
# 如果沒有密碼 就創(chuàng)建一個(gè)空的字符串
doc.initialize()
# 檢測文檔是否提供txt轉(zhuǎn)換,不提供就忽略
if not doc.is_extractable:
 raise PDFTextExtractionNotAllowed
else:
 # 創(chuàng)建PDf 資源管理器 來管理共享資源
 rsrcmgr = PDFResourceManager()
 # 創(chuàng)建一個(gè)PDF設(shè)備對象
 laparams = LAParams()
 device = PDFPageAggregator(rsrcmgr, laparams=laparams)
 # 創(chuàng)建一個(gè)PDF解釋器對象
 interpreter = PDFPageInterpreter(rsrcmgr, device)
 #每頁文字內(nèi)容
 results = []
 # 循環(huán)遍歷列表,每次處理一個(gè)page的內(nèi)容
 for page in doc.get_pages(): # doc.get_pages() 獲取page列表
  interpreter.process_page(page)
  # 接受該頁面的LTPage對象
  layout = device.get_result()
  # 這里layout是一個(gè)LTPage對象 里面存放著 這個(gè)page解析出的各種對象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要獲取文本就獲得對象的text屬性,
  for x in layout:
   if isinstance(x, LTTextBoxHorizontal):
    results.append(x.get_text())
 return results

該庫是根據(jù) 迭代pdf每一頁 進(jìn)行文字提取, 也可以識別判斷頁碼的功能

另外還有一個(gè)pypdf2 庫也可以識別但是感覺不如這個(gè)準(zhǔn)確

以上是“python基于pdfminer庫提取pdf文字的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI