软件测试|教你用Python处理PDF文件(二)
【摘要】 前言上一篇文章我们介绍了Python使用pypdf2实现读取PDF文件的文本内容,合并PDF文件,以及为PDF文件添加水印,本篇文章我们来介绍使用Python实现对PDF文件的加密解密。 环境准备我们还是使用PyPDF2这个库来实现对PDF文件的加密解密操作,安装命令如下:pip install PyPDF2 文件加密有的时候,我们并不希望所有人都能看到PDF文件的内容,所以我们就需要给P...
前言
上一篇文章我们介绍了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文件加密解密的方法,加密解密是我们常用的操作,使用该方法,可以提高我们的工作效率。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)