3 直接把需要轉換的pdf 檔案放入py程式所在目錄
使用源**:
import pyocr
import importlib
import sys,io
import time
importlib.reload(sys)
time1 = time.time()
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 pdftextextractionnotallowed
text_path = r』words-words.pdf』
def parse():
#』』『解析pdf文字,並儲存到txt檔案中』』』
fp = open(『words-words.pdf』,mode=『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
else:
#建立pdf,資源管理器,來共享資源
rsrcmgr = pdfresourcemanager()
#建立乙個pdf裝置物件
laparams = laparams()
device = pdfpageaggregator(rsrcmgr,laparams=laparams)
#建立乙個pdf解釋其物件
interpreter = pdfpageinterpreter(rsrcmgr,device)
#迴圈遍歷列表,每次處理乙個page內容
# doc.get_pages() 獲取page列表
for page in doc.get_pages():
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)):
with open(r'2.txt','a',encoding='utf8') as f:
results = x.get_text()
print(results)
f.write(results +"\n")
ifname== 『main』:
parse()
time2 = time.time()
print(「總共消耗時間為:」,time2-time1)
python讀取pdf檔案並轉換成txt檔案
官網 文件中英文pdf都可以,而且處理速度很快,一秒可以處理10頁左右 python2 pip install pdfminerpython3 pip install pdfminer3kpdf2txt.py from pdfminer.pdfparser import pdfparser,pdfd...
Python 讀取純文字PDF檔案
匯入系統庫 import sys import importlib 對importlib做處理,讓其載入sys importlib.reload sys from pdfminer.pdfparser import pdfparser,pdfdocument from pdfminer.pdfint...
Python 讀取txt文字檔案
python的文字檔案的內容讀取中,有三類方法 read readline readlines 這三種方法各有利弊。read read 的弊端 readline readline 的弊端 readlines readlines 的利端 readlines 的弊端 最簡單 最快速的逐行處理文字的方法 ...