Python给pdf制定权限加密

您所在的位置:网站首页 怎样设置pdf不可编辑的口令码 Python给pdf制定权限加密

Python给pdf制定权限加密

2024-07-17 07:04| 来源: 网络整理| 查看: 265

上一篇文章介绍了,为了保护pdf,使用python给pdf添加密码。但是,上锁之后,让客户可以看,但是不能随意复制、打印之类的话,还是不能满足的。因为加密之后,所有的功能权限都进行了加密。就是一个开关。如果我想让客户只能看,但是不能复制,能打印,那么这个需求就不能满足。为了让人看,你得提供密码,但是密码给了,那么用户就能继续复制。所以,我现在想结合加密的两个密码,进行分别授权。

这里面需要对PyPDF2进行一些源码的修改。

找到源码,如下图:

然后找到

给方法添加了一个参数,然后在后面进行单独授权,如下图:

将P = -1 指定授权,改为 传递的参数。

这样,我的加密代码就会出现如下情况:

from PyPDF2 import PdfFileWriter, PdfFileReader path = r'C:/Users/TF/Desktop' pdf_reader = PdfFileReader(path + r'\seczlsc.pdf') pdf_writer = PdfFileWriter() for page in range(pdf_reader.getNumPages()): pdf_writer.addPage(pdf_reader.getPage(page)) pdf_writer.encrypt("", -3900, "123456") # 设置密码为 a123 with open(path + r'\zlsc.pdf', 'wb') as out: pdf_writer.write(out)

 这样,一共三个参数, 第一个和第三个是密码, 第二个则是权限。

-3904: 表示所有的权限都得需要密码,如不能编辑、复制、打印、注释等功能

-3900: 表示只能够打印,其他的都不能

除此之外,还有其他的权限。如果想要授权操作,则可以使用后面的“123456”密码进行操作。

稍后,我会验证并且正式数字对应的各个权限

权限分析请见:Python通过PyPDF2给pdf加密,权限分析_吃小狗的骨头的博客-CSDN博客



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3