软件测试|教你用Python处理PDF文件(二)

简介: 软件测试|教你用Python处理PDF文件(二)

image.png

前言

上一篇文章我们介绍了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)

运行代码后,生成一个新的加密文件,点击查看时,会提示需要输入密码,如下:

image.png

文件解密

当我们要查看加密文件的内容时,可以使用这个功能,我们就以上面加密生成的文件为例,对加密文件进行解密,代码如下:

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,可以直接点击查看文件内容,如下:

image.png

总结

本文主要为大家介绍了使用Python为PDF文件加密解密的方法,加密解密是我们常用的操作,使用该方法,可以提高我们的工作效率。

相关文章
|
1天前
|
算法 TensorFlow 算法框架/工具
基于直方图的图像阈值计算和分割算法FPGA实现,包含tb测试文件和MATLAB辅助验证
这是一个关于图像处理的算法实现摘要,主要包括四部分:展示了四张算法运行的效果图;提到了使用的软件版本为VIVADO 2019.2和matlab 2022a;介绍了算法理论,即基于直方图的图像阈值分割,通过灰度直方图分布选取阈值来区分图像区域;并提供了部分Verilog代码,该代码读取图像数据,进行处理,并输出结果到"result.txt"以供MATLAB显示图像分割效果。
|
1天前
|
Linux iOS开发 MacOS
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
|
1天前
|
NoSQL Python
在Python中,我们可以使用许多库来处理Excel文件
Python处理Excel常用pandas和openpyxl库。pandas的`read_excel`用于读取文件,`to_excel`写入;示例展示了数据框操作。openpyxl则用于处理复杂情况,如多工作表,`load_workbook`加载文件,`iter_rows`读取数据,`Workbook`创建新文件,写入单元格数据后保存。
9 1
|
2天前
【Python21天学习挑战赛】文件读写操作
【Python21天学习挑战赛】文件读写操作
|
4天前
|
测试技术 Python
python集成测试执行测试
【4月更文挑战第20天】
12 6
|
5天前
|
JSON JavaScript 数据格式
python遍历目录文件_结合vue获取所有的html文件并且展示
python遍历目录文件_结合vue获取所有的html文件并且展示
4 0
|
6天前
|
算法 计算机视觉 异构计算
基于FPGA的图像累积直方图verilog实现,包含tb测试文件和MATLAB辅助验证
该内容展示了FPGA实现图像累积直方图的算法。使用Vivado2019.2和matlab2022a,通过FPGA的并行处理能力优化图像处理。算法基于像素值累加分布,计算图像中像素值小于等于特定值的像素个数。核心代码为`test_image`模块,读取二进制图像文件并传递给`im_hist`单元,生成直方图和累积直方图。
|
6天前
|
存储 安全 Python
Python从入门到精通:2.2.2异常处理与文件操作:文件的打开、读取、写入和关闭操作。
Python从入门到精通:2.2.2异常处理与文件操作:文件的打开、读取、写入和关闭操作。
|
7天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
26 0
|
21天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
27 0