利用python將pdf輸出為txt的實例講解
一個禮拜前一個同學問我這個事情,由于之前在參加華為的比賽,所以賽后看了一下,據(jù)說需要用到pdfminer這個包。于是安裝了一下,安裝過程很簡單:
sudo pip install pdfminer;
中間也沒有任何的報錯。至于如何調(diào)用,本人也沒有很好的研究過pdfminer這個庫,于是開始了百度……
官方文檔:http://www.unixuser.org/~euske/python/pdfminer/index.html
完全使用python編寫。 (適用于2.4或更新版本)
解析,分析,并轉(zhuǎn)換成PDF文檔。
PDF-1.7規(guī)范的支持。 (幾乎)
中日韓語言和垂直書寫腳本支持。
各種字體類型(Type1、TrueType、Type3,和CID)的支持。
基本加密(RC4)的支持。
PDF與HTML轉(zhuǎn)換。
綱要(TOC)的提取。
標簽內(nèi)容提取。
通過分組文本塊重建原始的布局。
一些基本的類
PDFParser:從一個文件中獲取數(shù)據(jù)
PDFDocument:保存獲取的數(shù)據(jù),和PDFParser是相互關(guān)聯(lián)的
PDFPageInterpreter處理頁面內(nèi)容
PDFDevice將其翻譯成你需要的格式
PDFResourceManager用于存儲共享資源,如字體或圖像。
簡單的實現(xiàn)
讀取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') #來創(chuàng)建一個pdf文檔分析器 parser = PDFParser(fp) #創(chuàng)建一個PDF文檔對象存儲文檔結(jié)構(gòu) document = PDFDocument(parser) # 檢查文件是否允許文本提取 if not document.is_extractable: raise PDFTextExtractionNotAllowed else: # 創(chuàng)建一個PDF資源管理器對象來存儲共賞資源 rsrcmgr=PDFResourceManager() # 設(shè)定參數(shù)進行分析 laparams=LAParams() # 創(chuàng)建一個PDF設(shè)備對象 # device=PDFDevice(rsrcmgr) device=PDFPageAggregator(rsrcmgr,laparams=laparams) # 創(chuàng)建一個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的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何利用opencv訓(xùn)練自己的模型實現(xiàn)特定物體的識別
在Python中通過OpenCV自己訓(xùn)練分類器進行特定物體實時識別,下面這篇文章主要給大家介紹了關(guān)于如何利用opencv訓(xùn)練自己的模型實現(xiàn)特定物體的識別,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-10-10pandas中字典和dataFrame的相互轉(zhuǎn)換
有時候需要把dic轉(zhuǎn)換為DataFrame格式,便于查看和存儲,下面這篇文章主要給大家介紹了關(guān)于pandas中字典和dataFrame相互轉(zhuǎn)換的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09python+openCV調(diào)用攝像頭拍攝和處理圖片的實現(xiàn)
這篇文章主要介紹了python+openCV調(diào)用攝像頭拍攝和處理圖片的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08