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

在Anaconda终端下输入代码

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple/ PyPDF2

如图,表示成功安装
我在Windows系统下的cmd也输入这条代码,成功运行,但是更喜欢用Anaconda (实力推荐,不打广告,因为又不给我钱) 这个是真的方便。

有两点值得很推荐Anaconda的地方:

  1. 很方便地安装、更新、卸载工具包,而且安装时能自动安装相应的依赖包
  2. 在数据可视化、机器学习、深度学习等多方面都有涉及。

不多说啦,上代码

上代码

加密

比如说此时我要对G:\eg下面的“示例 1.pdf”文件进行加密,加密后的仍然显示在当前文件夹并且名称为"示例 1加密.pdf"
运行之前

from PyPDF2 import PdfFileWriter, PdfFileReader

pdf_reader = PdfFileReader(r'G:\eg\示例 1.pdf') #输入你想要操作的pdf文档的位置/名称
pdf_writer = PdfFileWriter() for page in range(pdf_reader.getNumPages()):
pdf_writer.addPage(pdf_reader.getPage(page)) pdf_writer.encrypt('123456') #括号里面填写密码
with open('G:\eg\示例 1加密.pdf', 'wb') as out:
pdf_writer.write(out)

运行之后

打开加密文件
加密成功!

解密

比如说此时我要对G:\eg下面的“示例 1加密.pdf”文件进行解密,加密后的仍然显示在当前文件夹并且"名称为示例 1.pdf"
运行之前

from PyPDF2 import PdfFileWriter, PdfFileReader

pdf_reader = PdfFileReader(r'G:\eg\示例 1加密.pdf') #输入你想要操作的pdf加密的文档的位置/名称
pdf_reader.decrypt('123456')
pdf_writer = PdfFileWriter() for page in range(pdf_reader.getNumPages()):
pdf_writer.addPage(pdf_reader.getPage(page)) with open('G:\eg\示例 1.pdf', 'wb') as out:
pdf_writer.write(out)

运行之后
随时打开示例 1.pdf , 就没有密码啦
注意:
这边需要注意的一点是,我踩了一个坑,大家不要再踩了(虽然低级到不能再低级,我还是犯了)
我说我怎么什么都是对的怎么还报错,整得我把API看了又看,整了我一上午第二行代码是直接输入你想要解密的文件位置+名称,而不是你没有加密的文件位置+名称
倒数第二行同理

其实,如果不知道密码的情况下可以强制解密,但是也是知道密码的主要构成类型,或者还知道这一大部分内容,可以写一段代码一个一个试出来。因此在设置密码的时候一定要设置长一点,复杂一点。

良心提醒:即使找到这种代码也不要有去破坏人家隐私的行为傲

python实用小技能分享,教你如何使用 Python 将 pdf 文档进行 加密 解密的更多相关文章

  1. 手把手教你使用 Java 在线生成 pdf 文档

    一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...

  2. 批量下载网站图片的Python实用小工具(下)

    引子 在 批量下载网站图片的Python实用小工具 一文中,讲解了开发一个Python小工具来实现网站图片的并发批量拉取.不过那个工具仅限于特定网站的特定规则,本文将基于其代码实现,开发一个更加通用的 ...

  3. 分享一下自己写的Python 3的各种PDF文档【花了半年时间那】

    这些文档花了我半年的时间去整理.因为是第一次进行整理,希望帮助后来者少走弯路.毕竟是第一次整理.哪些地方不到位,希望大家和我练习,我们一起把它做好,以下就直接给出下载地址了,都是免积分的下载奥.因此. ...

  4. 利用Python将PDF文档转为MP3音频

    1. 转语音工具 微信读书有一个功能,可以将书里的文字转换为音频,而且声音优化的不错,比传统的机械朗读听起来舒服很多. 记得之前看到过Python有一个工具包,可以将文字转换为语音,支持英文和中文,而 ...

  5. Python处理Excel和PDF文档

    一.使用Python操作Excel Python来操作Excel文档以及如何利用Python语言的函数和表达式操纵Excel文档中的数据. 虽然微软公司本身提供了一些函数,我们可以使用这些函数操作Ex ...

  6. 如何教你在NIPS会议上批量下载历年的pdf文档(另附04~14年NIPS论文下载链接)

    如何获得NIPS会议上批量下载的链接? NIPS会议下载网址:http://papers.nips.cc/ a.点击打开上述网站,进入某一年的所有会议,例如2014年,如下图 b.然后对着当前网页点击 ...

  7. Python抓取单个网页中所有的PDF文档

    Github博文地址,此处更新可能不是很及时. 1.背景 最近发现算法以及数据结构落下了不少(其实还是大学没怎么好好学,囧rz),考虑到最近的项目结构越来越复杂了,用它来练练思路,就打算复习下数据结构 ...

  8. 程序生成word与PDF文档的方法(python)

    程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用free ...

  9. Python监控进程性能数据并画图保存为PDF文档

    引言 利用psutil模块(https://pypi.python.org/pypi/psutil/),可以很方便的监控系统的CPU.内存.磁盘IO.网络带宽等性能參数,下面是否代码为监控某个特定程序 ...

随机推荐

  1. Python机器学习及实践_从零开始通往KAGGLE竞赛之路PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:i5nw Python机器学习及实践面向所有对机器学习与数据挖掘的实践及竞赛感兴趣的读者,从零开始,以Python编程语言为基础,在不涉及大量数学模型与复杂编程知识的前提下,逐步带领读 ...

  2. 求解最长递增子序列(LIS) | 动态规划(DP)+ 二分法

    1.题目描述     给定数组arr,返回arr的最长递增子序列. 2.举例     arr={2,1,5,3,6,4,8,9,7},返回的最长递增子序列为{1,3,4,8,9}. 3.解答      ...

  3. 秦九韶算法 & 三分法

    前言 今天考试出了一个题 郭郭模拟退火骗了75分 于是再次把咕咕了好久的模退提上日程 如果进展顺利 明后天应该会开爬山算法和模退的博客笔记 今天先把今天考试的正解学习一下--三分法 引入 老规矩上板子 ...

  4. 解决Xshell 工具连接不上VirtualBox虚拟机

    初次尝试用VirtualBox安装Linux虚拟机,却遇到了一些问题,特地记录于此,方便后面查阅! 首先简易记录下安装Linux虚拟机过程: 大致经过如下步骤:新建虚拟电脑,加载Linux版本镜像安装 ...

  5. 最适合做C/C++开发的IDE

    一.Windows Windows没什么好说的了,铁定vs(下载链接:https://visualstudio.microsoft.com/zh-hans/), 因为如果不用vs,做Qt时会有奇妙的错 ...

  6. C#LeetCode刷题之#633-平方数之和( Sum of Square Numbers)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3885 访问. 给定一个非负整数 c ,你要判断是否存在两个整数 ...

  7. kereas 实现鸢尾花分类

    import tensorflow as tf from sklearn import datasets import numpy as np x_train=datasets.load_iris() ...

  8. 运用sklearn进行主成分分析(PCA)代码实现

    基于sklearn的主成分分析代码实现 一.前言及回顾 二.sklearn的PCA类介绍 三.分类结果区域可视化函数 四.10行代码完成葡萄酒数据集分类 五.完整代码 六.总结 基于sklearn的主 ...

  9. 源码剖析Springboot自定义异常

    博主看到新服务是封装的自定义异常,准备入手剖析一下,自定义的异常是如何进行抓住我们请求的方法的异常,并进行封装返回到.废话不多说,先看看如何才能实现封装异常,先来一个示例: @ControllerAd ...

  10. python列表的增删改查和嵌套

    列表 python常用的数据类型 可承载任意的数据类型 列表是有序的,可索引.切片(步长) 列表的创建 list1 = [1, 2, 'whll'] #1. list2 = list() #2. #3 ...