小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

實(shí)例6:用Python給PDF批量加密

 Four兄 2019-08-25

每個(gè)人都有秘密,每個(gè)公司也是。我們的很多文件不想給某些人看到,那就可以利用PDF的加密功能設(shè)置密碼。如果我們生成了很多PDF,一個(gè)一個(gè)地加密,將費(fèi)時(shí)費(fèi)力。這種重復(fù)的繁重的事兒交給Python,它會(huì)不辱使命,你會(huì)輕松百倍:)

import PyPDF2 #可從PDF文檔提取信息
import os #用于獲取需要合并的PDF文件所在路徑
path='data/' # 文件夾路徑
#1.獲取需要加密的文件名及路徑
files=[]
for file in os.listdir(path):
if file.endswith('.pdf'): #排除文件夾內(nèi)的其它干擾文件,只獲取PDF文件
files.append(path+file)
files
>>['data/INV1.pdf',
'data/INV2.pdf',
'data/INV3.pdf',
'data/INV4.pdf',
'data/INV5.pdf']

以上是先獲取我們需要加密的PDF文件所在路徑及文件名。詳細(xì)解釋請(qǐng)見(jiàn):實(shí)例4:用Python提取不同PDF文件中的頁(yè)面合并進(jìn)新的PDF文件

#2.獲取每個(gè)PDF文件并加密保存
for file in files:
pdf_obj=open(file,'rb')# 以二進(jìn)制讀取,將保留PDF中的所有信息
pdf_reader=PyPDF2.PdfFileReader(pdf_obj)
pdf_writer=PyPDF2.PdfFileWriter()
for page_num in range(pdf_reader.numPages):
page_obj=pdf_reader.getPage(page_num)
pdf_writer.addPage(page_obj)
pdf_writer.encrypt('pass')# 加密,密碼設(shè)為'pass',可個(gè)性化調(diào)整
#寫(xiě)入并保存PDF文件
pdf_output_file=open(file.split('.')[0]+'_sec.pdf','wb') #以二進(jìn)制寫(xiě)入,將保留源PDF中的所有信息
pdf_writer.write(pdf_output_file)
pdf_output_file.close()

我們使用for循環(huán),逐個(gè)給每個(gè)PDF文件加密。首先打開(kāi)PDF文件pdf_obj=open(file,'rb'),然后讀取信息pdf_reader=PyPDF2.PdfFileReader(pdf_obj),然后建一個(gè)寫(xiě)入變量pdf_writer=PyPDF2.PdfFileWriter(),隨后遍歷每個(gè)PDF文件的每一頁(yè),然后加入到寫(xiě)入變量pdf_writer。頁(yè)面加入完了之后,設(shè)置密碼pdf_writer.encrypt('pass')。密碼設(shè)置完成后,就保存文件。為避免源文件出問(wèn)題,此處我們保存為新的文件,命名方式為在源文件名后加上“_sec”。
其中file.split('.')[0]+'_sec.pdf'的原理可通過(guò)如下理解。更多詳細(xì)解釋請(qǐng)參考:實(shí)例4:用Python提取不同PDF文件中的頁(yè)面合并進(jìn)新的PDF文件

這個(gè)處理速度較慢,需要耐心等待。加密完成后的結(jié)果如下:

我們?cè)囍蜷_(kāi)一個(gè)加密后的文件,果然彈出輸入密碼的對(duì)話框,輸入我們?cè)O(shè)定的密碼即可進(jìn)入。

所有源代碼和說(shuō)明都在Jupyter notebook上完成,所用到的Excel 資料已上傳GitHub, 歡迎Fork或下載到本地隨意玩。。。轉(zhuǎn)載請(qǐng)注明出處,謝謝。
GitHub鏈接:

https://github.com/weidylan/Office_Automation_by_Using_Python

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多