安裝依賴:
pip install pdfminer3k
# -*- coding:utf-8
import sys
import importlib
importlib.reload(sys)
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
''' 解析pdf 文字,儲存到txt檔案中
'''path = r'python標準庫.pdf'
def parse():
fp = open(path, 'rb') # 以二進位制讀模式開啟
#用檔案物件來建立乙個pdf文件分析器
praser = pdfparser(fp)
# 建立乙個pdf文件
doc = pdfdocument()
# 連線分析器 與文件物件
praser.set_document(doc)
doc.set_parser(praser)
# 提供初始化密碼
# 如果沒有密碼 就建立乙個空的字串
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的內容
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)):
with open(r'1.txt', 'a', encoding='utf-8') as f:
results = x.get_text()
f.write(results + '\n')
if __name__ == '__main__':
parse()
加密PDF轉文字
加密pdf轉文字 adobe acrobat pro dc 將解密的pdf匯出成word 天若ocr 專業版 59元 word 格式修改sub selectalltables dim temptable as table 判斷文件是否被保護 if activedocument.protectiont...
Qt for Python 七 pdf轉文字
環境 win7 64 py3 第一步 安裝pdf操作庫 pdfminer3k pdfminer3k是python3使用的pdfminer的版本,這裡安裝一定要選定穩定版版本號,pip自動選擇的最新版,貌似有問題,坑了我好久 具體用法官網看文件 pip3 install pdfminer3k 1.2....
呼叫百度ocr實現PDF轉文字
讀取函式 defocr path with open path,rb as f return f.read deflink ocr client,image for i in range 5 try dict1 client.basicgeneral image except continue el...