#coding=utf-8#匯入開發包
frompdfminer.pdfparserimportpdfparser, pdfdocument
frompdfminer.pdfinterpimportpdfresourcemanager, pdfpageinterpreter
frompdfminer.pdfdeviceimportpdfdevice
frompdfminer.converterimportpdfpageaggregator
frompdfminer.layoutimportlaparams
#開啟模式
"""w :以寫方式開啟a :以追加模式開啟r+:以讀寫模式開啟w+:以讀寫模式開啟(參見w)a+:以讀寫模式開啟(參見a)rb:以二進位制讀模式開啟wb:以二進位制寫模式開啟(參見w)ab:以二進位制追加模式開啟(參見a)rb+:以二進位制讀寫模式開啟(參見r+)wb+:以二進位制讀寫模式開啟(參見w+)ab+:以二進位制讀寫模式開啟(參見a+)"""#獲取文件的物件
fp=open("naacl06-shinyama.pdf","rb")
#建立乙個與文件相關的直譯器
parser=pdfparser(fp)
#建立乙個pdf文件物件
doc=pdfdocument()
#鏈結直譯器和文件物件
parser.set_document(doc)
doc.set_parser(parser)
#初始化文件物件,文件若有密碼寫入,無密碼則為空
doc.initialize("")
#建立pdf資源管理器
resource=pdfresourcemanager()
#建立引數分析器。要分析pdf有哪些內容,文字,等
#alt+enter自動匯入包
laparam=laparams()
#建立乙個聚合器,將資源管理器和引數分析器都放在聚合器裡
device=pdfpageaggregator(resource,laparams=laparam)
#建立pdf頁面直譯器,將資源管理器和聚合器放入頁面直譯器,進行解釋
interpreter=pdfpageinterpreter(resource,device)
#使用文件物件得到頁面的集合
#得到每一頁
forpageindoc.get_pages():
#使用頁面直譯器來讀取頁,因為頁面直譯器是接收了乙個聚合器的,故下面可以直接用聚合器來獲取內容
interpreter.process_page(page)
#使用聚合器來獲取內容
layout=device.get_result()
foroutinlayout:
#使用下面的方法,到或者下劃線時會報錯,程式會中斷,因為它們沒有get_text()方法
#為使程式執行下去可以加個判斷
c 讀取pdf文件
2.解壓pdfbox,專案中新增存在解壓後bin目錄下的dll檔案 ikvm.gnu.classpath.dll ikvm.runtime.dll fontbox 0.1.0 dev.dll pdfbox 0.7.3.dll 3.檔案中引入2個命名空間 using org.pdfbox.pdmode...
python讀取pdf文件 實戰
coding utf 8 讀取pdf文件 from pdfminer.converter import pdfpageaggregator from pdfminer.layout import laparams from pdfminer.pdfparser import pdfparser,pd...
用python讀取pdf文件
首先要安裝庫 pdfminer3k from pdfminer.converter import pdfpageaggregator from pdfminer.layout import laparams from pdfminer.pdfparser import pdfparser,pdfdo...