霍格沃兹测试开发学社

《Python测试开发进阶训练营》(随到随学!)
2023年第2期《Python全栈开发与自动化测试班》(开班在即)
报名联系weixin/qq:2314507862

软件测试|教你用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文件加密解密的方法,加密解密是我们常用的操作,使用该方法,可以提高我们的工作效率。

获取更多技术资料,请点击!

posted @   霍格沃兹测试开发学社  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示