下面為大家分享一篇利用python將pdf輸出為txt的實例講解,具有很好的參考價值,希望對大家有幫助。一起來看看吧
一個禮拜前一個同學問我這個事情,由於之前在參加華為的比賽,所以賽後看了一下,據說需要用到pdfminer這個包。於是安裝了一下,安裝過程很簡單:
sudo pip install pdfminer;
#中間也沒有任何的報錯。至於如何調用,本人也沒有很好的研究過pdfminer這個函式庫,於是開始了百度…
官方文件:##http://www.unixuser .org/~euske/python/pdfminer/index.html
完全使用python編寫。 (適用於2.4或更新版本)解析,分析,並轉換成PDF文件。 PDF-1.7規範的支持。 (幾乎)中日韓語言和垂直書寫腳本支援。 各種字型類型(Type1、TrueType、Type3,和CID)的支援。 基本加密(RC4)的支援。 PDF與HTML轉換。 綱要(TOC)的提取。 標籤內容提取。 透過分組文字區塊重建原始的佈局。一些基本的類別
PDFParser:從一個檔案中取得資料PDFDocument:儲存取得的數據,和PDFParser是相互關聯的PDFPageInterpreter處理頁面內容PDFDevice將其翻譯成你需要的格式PDFResourceManager用於儲存共享資源,如字體或圖像。簡單的實作
#讀取test.pdf輸出為output.txt:
# -*- coding: utf-8 -*- from pdfminer.pdfparser import PDFParser from pdfminer.pdfdocument import PDFDocument from pdfminer.pdfpage import PDFPage from pdfminer.pdfpage import PDFTextExtractionNotAllowed from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import PDFPageInterpreter from pdfminer.pdfdevice import PDFDevice from pdfminer.layout import * from pdfminer.converter import PDFPageAggregator import os fp = open('test.pdf', 'rb') #来创建一个pdf文档分析器 parser = PDFParser(fp) #创建一个PDF文档对象存储文档结构 document = PDFDocument(parser) # 检查文件是否允许文本提取 if not document.is_extractable: raise PDFTextExtractionNotAllowed else: # 创建一个PDF资源管理器对象来存储共赏资源 rsrcmgr=PDFResourceManager() # 设定参数进行分析 laparams=LAParams() # 创建一个PDF设备对象 # device=PDFDevice(rsrcmgr) device=PDFPageAggregator(rsrcmgr,laparams=laparams) # 创建一个PDF解释器对象 interpreter=PDFPageInterpreter(rsrcmgr,device) # 处理每一页 for page in PDFPage.create_pages(document): interpreter.process_page(page) # 接受该页面的LTPage对象 layout=device.get_result() for x in layout: if(isinstance(x,LTTextBoxHorizontal)): with open('output.txt','a') as f: f.write(x.get_text().encode('utf-8')+'\n')
以上是利用python將pdf輸出為txt的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!