python 處理pdf加密文件的操作代碼
近期有同事需要提取加密的pdf文件,截取其中的信息,并且重構(gòu)pdf文件。網(wǎng)上沒(méi)有搜到相關(guān)的pdf操作,于是咨詢了chatgpt,給出了pypdf2的使用案例。但是時(shí)間比較久遠(yuǎn)了,很多庫(kù)內(nèi)的調(diào)用接口都已經(jīng)更新了。
于是自行到官方的庫(kù)內(nèi)學(xué)習(xí)相關(guān)接口使用。整理的處理代碼如下:
# -*- 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' # 打開(kāi)PDF文件 pdf_file = open(file, 'rb') # 創(chuàng)建一個(gè)PDF閱讀器對(duì)象 pdf_reader = PyPDF2.PdfReader(pdf_file) # 創(chuàng)建一個(gè)新的PDF寫入器對(duì)象 pdf_writer = PyPDF2.PdfWriter() # 截取第0,第101到108頁(yè) 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) # 順便導(dǎo)出下每頁(yè)的圖片 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 # 打印下下每頁(yè)的文字 page.extract_text(0) # 處理的文件加個(gè)密 pdf_writer.encrypt("123456") # 創(chuàng)建一個(gè)新的PDF文件并將頁(yè)面寫入其中 out_file=file.replace('.pdf','_remake.pdf') output_file = open(out_file, 'wb') pdf_writer.write(output_file) # 關(guān)閉文件 output_file.close() pdf_file.close()
PS: 解密用
if reader.is_encrypted: reader.decrypt("123456")
到此這篇關(guān)于python 處理pdf加密文件的文章就介紹到這了,更多相關(guān)python pdf加密文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python+Pygame實(shí)現(xiàn)變異狗大戰(zhàn)游戲
只有你想不到,沒(méi)有我找不到寫不了的好游戲!這篇文章就來(lái)和大家分享一下如何基于Python+Pygame實(shí)現(xiàn)變異狗大戰(zhàn)游戲,感興趣的可以了解一下2023-03-03Python機(jī)器學(xué)習(xí)入門(一)序章
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08pytorch簡(jiǎn)單實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)功能
這篇文章主要介紹了pytorch簡(jiǎn)單實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09python網(wǎng)絡(luò)編程socket實(shí)現(xiàn)服務(wù)端、客戶端操作詳解
這篇文章主要介紹了python網(wǎng)絡(luò)編程socket實(shí)現(xiàn)服務(wù)端、客戶端操作,結(jié)合實(shí)例形式分析了python基于socket實(shí)現(xiàn)服務(wù)端、客戶端相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2020-03-03Python實(shí)現(xiàn)讀取TXT文件數(shù)據(jù)并存進(jìn)內(nèi)置數(shù)據(jù)庫(kù)SQLite3的方法
這篇文章主要介紹了Python實(shí)現(xiàn)讀取TXT文件數(shù)據(jù)并存進(jìn)內(nèi)置數(shù)據(jù)庫(kù)SQLite3的方法,涉及Python針對(duì)txt文件的讀取及sqlite3數(shù)據(jù)庫(kù)的創(chuàng)建、插入、查詢等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08python第三方庫(kù)subprocess執(zhí)行cmd同時(shí)輸入密碼獲取參數(shù)
本文給大家介紹python subprocess執(zhí)行cmd同時(shí)輸入密碼獲取參數(shù),手動(dòng)輸入cmd命令,本文給大家逐一介紹這個(gè)命令的使用方法,感興趣的朋友跟隨小編一起看看吧2024-01-01