import sysimport 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檔案,僅能處理文字,無法處理
def readpdf(path,topath):
with open(path,'rb') as f: #用二進位制開啟
# #建立parser為pdf檔案分析器
parser = pdfparser(f)
#建立乙個pdf文件
pdffile = pdfdocument()
#連線分析器與文件物件
parser.set_document(pdffile)
pdffile.set_parser(parser)
#提供初始化密碼
pdffile.initialize()
#檢測文件是否提供txt轉換
if not pdffile.is_extractable:
raise pdftextextractionnotallowed
else:
#解析資料
#資料管理器
manager = pdfresourcemanager()
#建立乙個pdf裝置的物件
laparams = laparams
device = pdfpageaggregator(manager,laparams=laparams)
interpreter = pdfpageinterpreter(manager,device) #直譯器物件
#迴圈處理資料,每次處理一頁
for page in pdffile.get_pages():
interpreter.process_page(page)
layout = device.get_result()
for x in layout: #處理圖層
if (isinstance(x,lttextboxhorizontal)):
with open(topath,'a') as f:
str = x.get_text()
# print(str)
f.write(str+"\n")
PDF檔案複製文字
最近在看電子書時,發現有的一些 pdf 檔案看起來像是掃瞄的,但能直接複製文字,有的則不能。查詢相關資料後明白了。不能複製的pdf檔案 01 pdf檔案加密了 02 掃瞄和圖形格式做的pdf檔案 pdf檔案如果加密了 對於一些不允許做修改 複製 列印等的pdf檔案 就是加密加了許可權的pdf 那麼就...
c 檔案讀寫 文字讀寫
include int main else return 0 格式 intfscanf file stream,constchar format,返回值 如果成功,該函式返回成功匹配和賦值的個數。如果到達檔案末尾或發生讀錯誤,則返回 eof 引數1 file stream 檔案指標 引數2 cons...
PDF檔案的文字如何修改
pdf格式的檔案的文字是不可以在閱讀器中修改的,修改文字必須用編輯器直接開啟進行編輯或者將pdf格式轉換成word文件的格式再編輯。編輯工具直接編輯 設定pdf檔案的開啟方式為pdf編輯器,或者開啟工具後在開啟要編輯的pdf檔案。pdf的編輯方式與ppt幻燈片相同,文字都是在文字框中進編輯的,文字的...