软件测试|教你用Python处理PDF文件(二)
前言
上一篇文章我们介绍了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文件加密解密的方法,加密解密是我们常用的操作,使用该方法,可以提高我们的工作效率。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了