上一篇文章介绍了,为了保护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博客

Python给pdf制定权限加密相关推荐

  1. 实用脚本!利用 Python 对 PDF 进行加密、解密操作,代码拿走就用!

    来源/早起Python 本文将分享如何利用 Python 对 PDF 进行加密和解密操作,主要利用到之前多次介绍过的PyPDF2 模块. PDF 加密 在之前的文章PDF合并.拆分.水印.加密中简单提 ...

  2. 教你如何使用 Python 将 pdf 文档进行 加密 解密——python实用小技能分享

      上次说了怎么将word转换为pdf格式 及 实现批量将word转换为pdf格式(点击这里),这次我又get到一个新技能–使用 Python 将 pdf 文档进行 加密 解密,哈哈哈 希望帮到更多人 ...

  3. 用Python给PDF批量加密

    每个人都有秘密,每个公司也是.如果我们生成了很多PDF,一个一个地加密,将费时费力.这种重复的繁重的事儿交给Python, import PyPDF2 #可从PDF文档提取信息 import os # ...

  4. Python暴力破解教程: Zip加密文件, pdf加密书籍在线爆破!

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 先不说楚枫的这般年纪,能够踏入元武一重说明了什么,最主要的是,楚枫在刚刚踏入核心地带时,明 ...

  5. itext7读取pdf 中文_实例6:用Python给PDF批量加密

    每个人都有秘密,每个公司也是.我们的很多文件不想给某些人看到,那就可以利用PDF的加密功能设置密码.如果我们生成了很多PDF,一个一个地加密,将费时费力.这种重复的繁重的事儿交给Python,它会不辱 ...

  6. python pdf 图片水印_怎样用python给pdf批量添加水印并加密

    很多时候需要给pdf添加水印,而且还要加密文件,这些在Python中是如何实现的呢?学过编程的小伙伴准备好迎接今天的挑战吧. 1.设置路径 import os os.getcwd() os.chdir ...

  7. 使用Python给pdf进行加密

    这一段时间公司做了一个项目, 由系统生成pdf文件,并且提供客户下载使用.为了保护资源防止用户随便的操作,需要再pdf上面添加密码,对文档生成保护,这里采用了python的方式对文件进行处理. 使用工 ...

  8. 用python给pdf批量添加水印,并给pdf加密

    本文部分参考:https://blog.csdn.net/oh5w6hinug43jvrhhb/article/details/80879026 本文先分别讲解整个代码各个步骤的含义,最后会附上完整代 ...

  9. Python自动化办公系列之Python操作PDF

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 输 作者介绍: 大家可以叫我黄同学(博客名:Huang Supre ...

最新文章

  1. TensorFlow Keras API用法
  2. C++实现各种排序算法
  3. 和我一起作Tess的windbg lab - Lab3, Memory
  4. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第3章-有向二阶多智能体系统脉冲一致性
  5. aix查看oracle数据库端口号,通过netstat+rmsock查找AIX端口对应进程
  6. 【Linux】free命令查询服务器内存信息
  7. Docker持续交付部署类型
  8. python中的common_common:个人基础函数库
  9. 我们常说的CDN到底是什么?
  10. java pdf替换文字_java代码用itext 识别PDF中的文字然后替换
  11. Alphabetic Removals
  12. 企业微信登陆,操作企业微信通讯录(代码已上传github)
  13. 【攻防世界WEB】难度三星9分入门题(上):simple_js、mfw
  14. 华为HCNA之WAN接入配置实验
  15. 光线投射与光线跟踪算法归纳
  16. #私藏项目实操分享#Python爬虫实战,requests+xpath模块,Python实现爬取豆瓣影评
  17. 数据分析师1.4量化交易策略的回测方法和技巧
  18. Windows 8已开始内测
  19. HVS颜色模型(六角锥体模型)
  20. “今天,我们回家”-激动中,水木又回来了!

热门文章

  1. 用ajax进行分页查询
  2. 【Pandas】数据分析工具Pandas的基本操作和可视化工具Matplotlib
  3. 用python画皮卡丘画法-用python画一只可爱的皮卡丘实例
  4. yocto 知:BitBake用户手册
  5. PHP的一些常用算法
  6. win10不用密码直接登陆设置
  7. Win7 Iphone4手机通过电脑上网设置 开机自动打开WIFI
  8. 阿米巴经营和数据分析
  9. WPF学习笔记16 BookDemo 2
  10. 安装ubuntu 创建分区_安装Ubuntu后如何创建单独的主分区