日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python实例:pdf文档转txt

發布時間:2024/1/1 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python实例:pdf文档转txt 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,這是一個比較粗糙的版本,因為已經夠用了,而且對pdf的格式不熟悉,所以暫時沒有進一步優化。

還有,這是轉成txt的,所以如果是有圖片的pdf是無法保存圖片的。

至于本來就是圖片的文本,這里是無法分析出來的。那些圖片的pdf,估計要用圖形匹配的方式來處理,類似于超速拍攝的車牌識別。

不過這樣的程度,已經不是文本處理了。扯遠了。。。

轉出來的文字,好像按照pdf里面的所展示的來換行了,看不到有什么規則還原,我也不知道怎么處理,將就著用吧。

另外,初始代碼是網上找的,最初地址不知道哪里了。

用到了第三方庫pdfminier

pdfminer庫的地址 https://pypi.python.org/pypi/pdfminer3k

下載后,用cmd執行命令 setup.py install

安裝完之后打開eclipse會彈出要求加載一些東西,點擊確定就行了。

再來看看代碼:

import os.path from pdfminer.pdfparser import PDFParser,PDFDocument from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import PDFPageAggregator from pdfminer.layout import LTTextBoxHorizontal,LAParams from pdfminer.pdfinterp import PDFTextExtractionNotAllowedclass CPdf2TxtManager():'''classdocs'''def __init__(self):'''Constructor'''def changePdfToText(self, filePath): file = open(path, 'rb') # 以二進制讀模式打開#用文件對象來創建一個pdf文檔分析器praser = PDFParser(file)# 創建一個PDF文檔doc = PDFDocument()# 連接分析器 與文檔對象praser.set_document(doc)doc.set_parser(praser)# 提供初始化密碼# 如果沒有密碼 就創建一個空的字符串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)pdfStr = ''# 循環遍歷列表,每次處理一個page的內容for page in doc.get_pages(): # doc.get_pages() 獲取page列表interpreter.process_page(page)# 接受該頁面的LTPage對象layout = device.get_result()# 這里layout是一個LTPage對象 里面存放著 這個page解析出的各種對象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要獲取文本就獲得對象的text屬性,for x in layout:if (isinstance(x, LTTextBoxHorizontal)):pdfStr = pdfStr + x.get_text() + '\n'fileNames = os.path.splitext(filePath) file2 = open(fileNames[0] + '.txt','wb')#保存這些內容file2.write(pdfStr.encode())file2.close() file.close()if __name__ == '__main__':'''解析pdf 文本,保存到txt文件中'''path = r'C:\Users\Administrator\Desktop\《精力管理》.pdf'pdf2TxtManager = CPdf2TxtManager()pdf2TxtManager.changePdfToText(path)

總結

以上是生活随笔為你收集整理的Python实例:pdf文档转txt的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。