系列文章:
由於在資訊科技課程裡,提到[加密]與[解密]。希望讓學生能夠實作[pdf加密]與[pdf解密],那要如何實作?
目前實作的方式,則是利用Word轉PDF,在PDF上加密。如下圖:
以Word2010為例:
此時,加密的長度會是6~32位元。那在學生解密時,會花較多時間解密。當密碼長度越長時,解密所花的時間就越長。目前在一節課的時間內,讓學生能夠完成加密與解密。所以,希望pdf 加密的密碼長度能夠限制在四位數以內。因此,需要利用Python程式對pdf加密。
在資料來源1.,提供一個加密python程式。在Python編譯過程中,會出現錯誤訊息。其中錯誤原因是套件PyPDF2的版本須限制在3.0.0(含)以內。因此,安裝套件PyPDF2 版本為2.9.0。整個過程步驟如下:
1.安裝套件:pip install pypdf2==2.9.0
2.程式碼與需加密的PDF放置位置:
重要:程式碼與需加密的PDF須放置同一位置。
以自己的電腦為例:
或是
3.完整程式碼如下:
需加密的PDF檔名:test.pdf
程式碼檔名:PdfEnCryption01.py
程式碼內容:
from PyPDF2 import PdfFileWriter, PdfFileReader
path = 'test.pdf' # 這裡填寫目標 PDF 所在的路徑
pdf_reader = PdfFileReader('test.pdf')
pdf_writer = PdfFileWriter()
for page in range(pdf_reader.getNumPages()):
pdf_writer.addPage(pdf_reader.getPage(page))
pdf_writer.encrypt('a123') # 設置密碼為 a123
with open('test.pdf', 'wb') as out:
pdf_writer.write(out)
沒有留言:
張貼留言