環境: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 不...