當前位置:
首頁 > 最新 > Python實現讀取PDF文件案例

Python實現讀取PDF文件案例

最近有一個本地客戶需求是讀取PDF文件,然後做自動化處理。這其實是一種典型的RPA自動化需求,簡單而言就是模擬人工來操作文件,網頁,客戶端系統等,只要操作規則定義清楚,就可以實施這種RPA應用,而如果這種操作較為頻繁(大量重複),則這種RPA自動化應用實施的ROI(投資回報率)會非常顯著。

事實上利用RPA軟體可以較為容易地實現這類操作,例如AutomationAnywhere,參考此前我寫的一篇文章《RPA軟體之AutomationAnywhere研究》,在AA里就有這類操作PDF文件的標準控制項和應用場景:

(二十八)PDFIntegration(PDF文件操作)

PDF To Image

Extract From Fields

Extract Text

Merge Documents

Split Document

Encrypt Document

Decrypt Document

而現在這個本地客戶需求相對簡單,並且在未來有進一步和其他應用集成的可能性,也就是開發一個端到端的自動化應用,因此用AA來實現這個功能就有點大材小用了,而用Python寫一個自開發的RPA應用就可以支持這個功能,而在Python來操作PDF文件有多種類庫,分別研究了一下,發現對於英文PDF文件支持最好的是pyPDF2類庫,而對於多語言PDF文件支持最好的則是本文這個案例種用到的pdfminer類庫,這兩個類庫的使用方法其實都很簡單。

不說廢話,直接上代碼:

準備了一個簡單的PDF文件做測試:

執行程序,結果如下:

當然了,不管是pyPDF2類庫(只支持英文PDF文件),還是pdfminer類庫(支持多語言PDF文件),都有一個最大的局限性,那就是只能用來讀取電腦生成的PDF文件的內容,而不能用來處理掃描件PDF,對於手寫字也不能支持,要讀取這類PDF掃描件就要用到另外一種技術,那就是——OCR。在後面我會專門寫一篇文章來介紹一個如何利用tensorflow來實現OCR讀取PDF掃描件的案例。

RPA應用實施有兩個階段,第一個階段是傳統RPA(Tranditional RPA),而第二階段是認知RPA(Cognitive RPA),認知RPA比傳統RPA更高級的一點就是引入了AI認知服務,使原來無法操作的非結構化數據可以被操作,例如OCR,人臉識別,聲音識別等等。傳統RPA則是基於對結構化數據的操作,包括excel文件,網頁數據等。當然了,對於電腦生成的PDF文件的讀取和自動化操作,還可以算作是傳統RPA實施的領域,而對於PDF掃描件的讀取和自動化操作,則毫無疑問地可以歸於認知RPA的範圍了。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Python爬蟲學習Scrapy之Spiders
Python高手和Python菜鳥的區別是什麼?

TAG:Python |