利用python將pdf輸出為txt的實(shí)例講解
一個(gè)禮拜前一個(gè)同學(xué)問(wèn)我這個(gè)事情,由于之前在參加華為的比賽,所以賽后看了一下,據(jù)說(shuō)需要用到pdfminer這個(gè)包。于是安裝了一下,安裝過(guò)程很簡(jiǎn)單:
sudo pip install pdfminer;
中間也沒(méi)有任何的報(bào)錯(cuò)。至于如何調(diào)用,本人也沒(méi)有很好的研究過(guò)pdfminer這個(gè)庫(kù),于是開始了百度……
官方文檔:http://www.unixuser.org/~euske/python/pdfminer/index.html
完全使用python編寫。 (適用于2.4或更新版本)
解析,分析,并轉(zhuǎn)換成PDF文檔。
PDF-1.7規(guī)范的支持。 (幾乎)
中日韓語(yǔ)言和垂直書寫腳本支持。
各種字體類型(Type1、TrueType、Type3,和CID)的支持。
基本加密(RC4)的支持。
PDF與HTML轉(zhuǎn)換。
綱要(TOC)的提取。
標(biāo)簽內(nèi)容提取。
通過(guò)分組文本塊重建原始的布局。
一些基本的類
PDFParser:從一個(gè)文件中獲取數(shù)據(jù)
PDFDocument:保存獲取的數(shù)據(jù),和PDFParser是相互關(guān)聯(lián)的
PDFPageInterpreter處理頁(yè)面內(nèi)容
PDFDevice將其翻譯成你需要的格式
PDFResourceManager用于存儲(chǔ)共享資源,如字體或圖像。

簡(jiǎn)單的實(shí)現(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')
#來(lái)創(chuàng)建一個(gè)pdf文檔分析器
parser = PDFParser(fp)
#創(chuàng)建一個(gè)PDF文檔對(duì)象存儲(chǔ)文檔結(jié)構(gòu)
document = PDFDocument(parser)
# 檢查文件是否允許文本提取
if not document.is_extractable:
raise PDFTextExtractionNotAllowed
else:
# 創(chuàng)建一個(gè)PDF資源管理器對(duì)象來(lái)存儲(chǔ)共賞資源
rsrcmgr=PDFResourceManager()
# 設(shè)定參數(shù)進(jìn)行分析
laparams=LAParams()
# 創(chuàng)建一個(gè)PDF設(shè)備對(duì)象
# device=PDFDevice(rsrcmgr)
device=PDFPageAggregator(rsrcmgr,laparams=laparams)
# 創(chuàng)建一個(gè)PDF解釋器對(duì)象
interpreter=PDFPageInterpreter(rsrcmgr,device)
# 處理每一頁(yè)
for page in PDFPage.create_pages(document):
interpreter.process_page(page)
# 接受該頁(yè)面的LTPage對(duì)象
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的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
從安裝到應(yīng)用全面掌握Python與OpenCV的配置與高級(jí)功能(最新推薦)
OpenCV的強(qiáng)大功能不僅限于基本的圖像處理,還可以擴(kuò)展到實(shí)時(shí)視頻分析、復(fù)雜的圖像拼接和特征匹配等應(yīng)用場(chǎng)景,這篇文章主要介紹了從安裝到應(yīng)用全面掌握Python與OpenCV的配置與高級(jí)功能,需要的朋友可以參考下2024-08-08
python?OpenCV實(shí)現(xiàn)圖像特征匹配示例詳解
這篇文章主要為大家介紹了python?OpenCV實(shí)現(xiàn)圖像特征匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
pytorch使用nn.Moudle實(shí)現(xiàn)邏輯回歸
這篇文章主要為大家詳細(xì)介紹了pytorch使用nn.Moudle實(shí)現(xiàn)邏輯回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
python實(shí)現(xiàn)計(jì)算資源圖標(biāo)crc值的方法
這篇文章主要介紹了python實(shí)現(xiàn)計(jì)算資源圖標(biāo)crc值的方法,通過(guò)解析資源文件找到icon的數(shù)據(jù),從而實(shí)現(xiàn)該功能,需要的朋友可以參考下2014-10-10
Python文件遍歷os.walk()與os.listdir()使用及說(shuō)明
這篇文章主要介紹了Python文件遍歷os.walk()與os.listdir()使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Python繪圖庫(kù)Pyecharts可視化效果示例詳解
本文將帶您從零開始,逐步掌握使用Pyecharts庫(kù)進(jìn)行數(shù)據(jù)可視化的技能,Pyecharts是一個(gè)基于Echarts的Python可視化庫(kù),能夠輕松創(chuàng)建各種交互式圖表和地圖,無(wú)論您是數(shù)據(jù)分析新手還是有經(jīng)驗(yàn)的開發(fā)者,都能幫助您深入了解Pyecharts的使用2023-08-08
Python打印特殊符號(hào)及對(duì)應(yīng)編碼解析
這篇文章主要介紹了Python打印特殊符號(hào)及對(duì)應(yīng)編碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
使用Python對(duì)Dicom文件進(jìn)行讀取與寫入的實(shí)現(xiàn)
這篇文章主要介紹了使用Python對(duì)Dicom文件進(jìn)行讀取與寫入的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

