Qt for Python 七 pdf轉文字

2021-09-19 11:10:58 字數 1978 閱讀 2815

環境:win7_64  py3

第一步:安裝pdf操作庫 pdfminer3k

pdfminer3k是python3使用的pdfminer的版本,

這裡安裝一定要選定穩定版版本號,

pip自動選擇的最新版,貌似有問題,坑了我好久

具體用法官網看文件

pip3 install pdfminer3k =1.2.4

第二步:測試程式

# encoding: 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 ="example.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()

#print(results)

f.write(results + '\n')

if __name__ == '__main__':

parse()

劍指offer(java版) pdf 第七題

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n 39 對於斐波拉契數列,我們首先想到的是她的表示式 斐波拉契數列的表示式 f 0 0,f 1 1,f n f n 1 f n 2 n 2,n n 下面我們直接根據表示式使用遞迴來實現斐波拉契數列 public clas...

(七)pdf的構成之檔案體(page物件)

頁面 page 通過頁面樹訪問文件的頁面,頁面樹定義pdf文件中的所有頁面。樹包含表示pdf文件頁面的節點,可以是兩種型別 中間節點和葉節點。中間節點也稱為頁面樹節點,而葉節點稱為頁面物件。最簡單的頁面樹結構可以由單個頁面樹節點組成,該節點直接引用所有頁面物件 因此所有頁面物件都是葉子 屬性 指示包...

將 PDF 插入其它 PDF

將 pdf 插入其它 pdf 請開啟您要用來合併檔案的基礎 pdf,然後選擇 文件 插入頁面 請選擇您要插入到目標文件中的 pdf,然後單擊 選擇 請在 插入頁面 對話方塊中,指定您要插入文件的位置 在開啟的 pdf 的第一頁 最後一頁或指定的頁面之前或之後 然後單擊 確定 要保持原始的 pdf 不...