色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

python解析PDF程序代碼

瀏覽:2日期:2022-06-16 11:18:41
說在前面

和word的文本相比PDF更類似于一張張圖片,圖上放著一個個文字。對其的解析是將圖片上的文字提取到text文件中,方便之后的分析。

添加依賴

在python的環境中安裝PDFminer3k,不要裝錯了,一開始我裝的是PDFminer,結果有幾個包不能用pip install pdfminer3k

源程序代碼

#!/usr/bin/env python3# -*- coding:utf-8 -*-# pip3 install pdfminer3kimport osfrom pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LAParams, LTTextBoxHorizontalfrom pdfminer.pdfparser import PDFParser, PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter, PDFTextExtractionNotAllowedfrom pdfminer.pdfdevice import PDFDevicedef read_pdf(pdf_name, result_name): # 以二進制讀模式打開 fp = open(pdf_name, ’rb’) # 用文件對象來創建一個pdf文檔分析器 parser = PDFParser(fp) # 創建一個pdf文檔 doc = PDFDocument() # 連接分析器 與文檔對象 parser.set_document(doc) doc.set_parser(parser) # 提供初始密碼,如果沒有密碼 就創建一個空的字符串 doc.initialize(’’) # 檢測文檔是否提供txt轉換,不提供就拋出異常 if not doc.is_extractable:raise PDFTextExtractionNotAllowed # 創建PDf 資源管理器 來管理共享資源 rsrcmgr = PDFResourceManager() # 創建一個PDF設備對象 laparams = LAParams() device = PDFPageAggregator(rsrcmgr, laparams=laparams) # 創建一個PDF解釋器對象 interpreter = PDFPageInterpreter(rsrcmgr, device) with open(result_name, 'w', encoding='u8') as fd_out:# 循環遍歷列表,每次處理一個page的內容for i, page in enumerate(doc.get_pages(), 1): index = '===========《第{}頁》==========='.format(i) print(index) fd_out.write(index + 'n') interpreter.process_page(page) # 接受該頁面的LTPage對象 layout = device.get_result() for x in layout:# 這里layout是一個LTPage對象 里面存放著 這個page解析出的各種對象 一般包括LTTextBox,# LTFigure, LTImage, LTTextBoxHorizontal 等等 想要獲取文本就獲得對象的text屬性if not isinstance(x, LTTextBoxHorizontal): continueresults = x.get_text()print(results)fd_out.write(results)if __name__ == ’__main__’: # 獲取讀取文件夾 filePath = ’../PDFfile’ #遍歷文件夾 for i,j,k in os.walk(filePath):for m in k: # 格式化輸出的名稱和地址 result = ’../TextFile/’ + m[:-4] + ’.txt’ # 格式化源文件路徑 fileName = i + ’/’ + m # 調用函數解析 read_pdf(fileName, result)

參考以下代碼內容:python 讀取pdf文本內容

#!/usr/bin/env python3#-*- coding:utf-8 -*-# pip3 install pdfminer3k from pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LAParams, LTTextBoxHorizontalfrom pdfminer.pdfparser import PDFParser, PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter, PDFTextExtractionNotAllowedfrom pdfminer.pdfdevice import PDFDevice def read_pdf(pdf_name, result_name): # 以二進制讀模式打開 fp = open(pdf_name, ’rb’) # 用文件對象來創建一個pdf文檔分析器 parser = PDFParser(fp) # 創建一個pdf文檔 doc = PDFDocument() # 連接分析器 與文檔對象 parser.set_document(doc) doc.set_parser(parser) # 提供初始密碼,如果沒有密碼 就創建一個空的字符串 doc.initialize(’’) # 檢測文檔是否提供txt轉換,不提供就拋出異常 if not doc.is_extractable:raise PDFTextExtractionNotAllowed # 創建PDf 資源管理器 來管理共享資源 rsrcmgr = PDFResourceManager() # 創建一個PDF設備對象 laparams = LAParams() device = PDFPageAggregator(rsrcmgr, laparams=laparams) # 創建一個PDF解釋器對象 interpreter = PDFPageInterpreter(rsrcmgr, device) with open(result_name,'w',encoding='u8') as fd_out:# 循環遍歷列表,每次處理一個page的內容for i,page in enumerate(doc.get_pages(),1): index = '===========《第{}頁》==========='.format(i) print(index) fd_out.write(index + 'n') interpreter.process_page(page) # 接受該頁面的LTPage對象 layout = device.get_result() for x in layout:# 這里layout是一個LTPage對象 里面存放著 這個page解析出的各種對象 一般包括LTTextBox,# LTFigure, LTImage, LTTextBoxHorizontal 等等 想要獲取文本就獲得對象的text屬性if not isinstance(x, LTTextBoxHorizontal): continueresults = x.get_text()print(results)fd_out.write(results) if __name__ == ’__main__’: pdf_name = ’test.pdf’ result = ’test.txt’ read_pdf(pdf_name, result)

以上就是python解析PDF的詳細內容,更多關于python解析PDF的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产一级毛片视频在线! | 中文字幕一区二区视频 | 五月色婷婷综合开心网亚 | 欧美激情久久久久久久久 | 一级亚洲 | 国产a高清| 亚洲伦乱 | 91久久国产精品 | 国产精品久久免费视频 | 亚洲毛片| 精品欧美成人高清在线观看2021 | 久久综合88| 国产超薄肉色丝袜足j | 亚洲第一男人天堂 | 成年女人毛片免费观看中文w | 黄色毛片视频校园交易 | 国产一区不卡 | 18成人网| 三级视频网站在线观看 | 婷婷三级 | 在线日韩三级 | 国产亚洲精品自在线观看 | 欧美一区二区精品系列在线观看 | 久久91亚洲精品中文字幕 | 日本香蕉一区二区三区 | 日韩一页| 国产精品久久精品视 | 欧美国产日本高清不卡 | 精品国产九九 | 亚洲精品一区二区三区四区 | 精品丝袜国产自在线拍亚洲 | 久久综合日韩亚洲精品色 | 亚洲另类激情综合偷自拍图 | 日本三级香港三级三级人 | 日本久久久久久久久久 | 日本特级黄毛片毛片视频 | 97夜夜操| 日韩美女大全视频在线 | 女人张开腿让男人捅的视频 | 真人一级毛片全部免 | 久久国产视频网 |