python 處理pdf加密文件
2024-01-11 11:15 凍雨冷霧 閱讀(369) 評論(0) 收藏 舉報近期有同事需要提取加密的pdf文件,截取其中的信息,并且重構pdf文件。網(wǎng)上沒有搜到相關的pdf操作,于是咨詢了chatgpt,給出了pypdf2的使用案例。但是時間比較久遠了,很多庫內(nèi)的調用接口都已經(jīng)更新了。
于是自行到官方的庫內(nèi)學習相關接口使用。整理的處理代碼如下:
# -*- coding: utf-8 -*- """ Created on Thu Jan 11 10:36:17 2024 @author: xm AZHE """ import PyPDF2 file=r'C:\Users\xm\Downloads\xxx1.pdf' # 打開PDF文件 pdf_file = open(file, 'rb') # 創(chuàng)建一個PDF閱讀器對象 pdf_reader = PyPDF2.PdfReader(pdf_file) # 創(chuàng)建一個新的PDF寫入器對象 pdf_writer = PyPDF2.PdfWriter() # 截取第0,第101到108頁 page = pdf_reader.pages[0] pdf_writer.add_page(page) for i in range(101,109): page = pdf_reader.pages[i] pdf_writer.add_page(page) # 順便導出下每頁的圖片 count = 0 for image_file_object in page.images: with open(str(count) + image_file_object.name, "wb") as fp: fp.write(image_file_object.data) count += 1 # 打印下下每頁的文字 page.extract_text(0) # 處理的文件加個密 pdf_writer.encrypt("123456") # 創(chuàng)建一個新的PDF文件并將頁面寫入其中 out_file=file.replace('.pdf','_remake.pdf') output_file = open(out_file, 'wb') pdf_writer.write(output_file) # 關閉文件 output_file.close() pdf_file.close()
PS: 解密用
if reader.is_encrypted: reader.decrypt("123456")
——————————————活在當下,首先就是要做好當下的事.
浙公網(wǎng)安備 33010602011771號