前言
上一篇文章我们介绍了Python使用pypdf2实现读取PDF文件的文本内容,合并PDF文件,以及为PDF文件添加水印,本篇文章我们来介绍使用Python实现对PDF文件的加密解密。
环境准备
我们还是使用PyPDF2
这个库来实现对PDF文件的加密解密操作,安装命令如下:
pip install PyPDF2
文件加密
有的时候,我们并不希望所有人都能看到PDF文件的内容,所以我们就需要给PDF文件加密,python支持给PDF文件加密,代码如下:
from PyPDF2 import PdfReader, PdfWriter
reader = PdfReader("files/test.pdf")
writer = PdfWriter()
# 拷贝每一页的内容
for page in reader.pages:
writer.add_page(page)
# 在新的pdf文件中添加密码
writer.encrypt("secret-password")
# 保存成新的pdf
with open("test_encrypted.pdf", "wb") as f:
writer.write(f)
运行代码后,生成一个新的加密文件,点击查看时,会提示需要输入密码,如下:
文件解密
当我们要查看加密文件的内容时,可以使用这个功能,我们就以上面加密生成的文件为例,对加密文件进行解密,代码如下:
from PyPDF2 import PdfReader, PdfWriter
# 读取上面加密的pdf文件
reader = PdfReader("test_encrypted.pdf")
writer = PdfWriter()
# 解密
if reader.is_encrypted:
reader.decrypt("secret-password")
# 将每一页内容加到writer对象中
for page in reader.pages:
writer.add_page(page)
# 保存解密后的pdf
with open("test_decrypted.pdf", "wb") as f:
writer.write(f)
运行脚本后,我们可以新增了一个test_decrypted.pdf
,可以直接点击查看文件内容,如下:
总结
本文主要为大家介绍了使用Python为PDF文件加密解密的方法,加密解密是我们常用的操作,使用该方法,可以提高我们的工作效率。