pdf檔案讀寫,僅能處理文字

2022-08-23 13:18:10 字數 1424 閱讀 4240

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檔案,僅能處理文字,無法處理

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幻燈片相同,文字都是在文字框中進編輯的,文字的...