13.1.2 解密 PDF
某些 PDF 文档有加密功能,以防止别人阅读,只有在打开文档时提供口令才能阅
读。在交互式环境中输入以下代码,处理下载的 PDF,它已经用口令rosebud 加密:
>>> import PyPDF2
>>> pdfReader = PyPDF2.PdfFileReader(open('encrypted.pdf', 'rb'))
➊ >>> pdfReader.isEncrypted
True
>>> pdfReader.getPage(0)
➋ Traceback (most recent call last):
File "<pyshell#173>", line 1, in <module> pdfReader.getPage()
--snip--
File "C:\Python34\lib\site-packages\PyPDF2\pdf.py", line 1173, in getObject raise
utils.PdfReadError("file has not been decrypted")
PyPDF2.utils.PdfReadError: file has not been decrypted
➌ >>> pdfReader.decrypt('rosebud')
1
>>> pageObj = pdfReader.getPage(0)
所有PdfFileReader 对象都有一个 isEncrypted 属性,如果PDF 是加密的,它就是 True,如果不是,它就是
False➊。在文件用正确的口
要读取加密的 PDF,就调用 decrypt()函数,传入口令字符串➌。在用正确的口令调用 decrypt()后,你会看到调用
getPage()不再导致错误。如果提供了错误的口令, decrypt()函数将返回 0,并且 getPage()会继续失败。请注意,decrypt()方法只解密了 PdfFileReader
对象,而不是实际的 PDF 文件。在程序中止后,硬盘上的文件仍然是加密的。程序下次运行时,仍然需要再次调用 decrypt()。
令解密之前,尝试调用函数来读取文件,将会导致错误➋。
13.1.2 解密 PDF相关推荐
- PermissionError: [Errno 13] Permission denied: ‘name.pdf‘
PermissionError: [Errno 13] Permission denied: 'name.pdf' 目录 PermissionError: [Errno 13] Permission ...
- c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf
c语言深度解剖(解密).pdf.pdf 还剩 130页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: * Str ...
- java 加密word_Java 加密和解密PDF文档
前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...
- java加密解密 pdf_Java 加密和解密PDF文档
前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...
- java 解密pdf_Java 加密和解密 PDF
在日常工作中,当我们需要传输一些重要的PDF文件.合同时,为了避免机密内容被第三方窥探到,我们可以对PDF文件进行加密.当这份文件能够公开了,又可以对其进行解密.那么我们如何在Java应用程序中实现这 ...
- java打开密码pdf,在Java中使用密码解密PDF文档
在Java中使用密码解密PDF文档 文档加密是确保企业与其外部客户之间安全地传递信息的最常用方法之一.所有PDF文件都提供了加密功能,可确保任何试图拦截信息的人都可以在没有密码的情况下打开它,密码应在 ...
- java 解密pdf_java – pdfbox:试图解密PDF
以下 this answer我试图用pdfBox解密pdf文档: PDDocument pd = PDDocument.load(path); if(pd.isEncrypted()){ try { ...
- Python调用pikepdf模块解密PDF文件(使用tkinter模块绘制GUI)
Python调用pikepdf模块解密.合并PDF文件(使用tkinter模块绘制GUI) 安装模块 pip install pikepdf 代码 #!/usr/bin/pythonimport os ...
- python批量解密PDF文件
用解密PDF pdf_reader.decrypy(密码)总会报错. NotImplementedError: only algorithm code 1 and 2 are supported 原因 ...
最新文章
- 详解vue组件的is特性:限制元素动态组件
- 导航栏下拉菜单效果代码
- 岭回归和lasso回归_正则化(2):与岭回归相似的 Lasso 回归
- 在web项目中发布jaxws
- 记一次Linux服务器因redis漏洞的挖矿病毒入侵
- 动点四边形周长最短_初中几何--线段之和最小值 Part 1:通过点关于直线对称点得到两定点之间直线段长度最短。...
- 作战手册-2011-12-18
- 探究streambuf
- Web2.0浪潮下的广播电视业
- 新思课堂C语言答案,新思课堂APP最新版下载_新思课堂APP官方版1.6.8下载_QQ下载站...
- 虚拟变量陷阱原理及算例
- 对冲策略及Python实现
- 搭载TI最强芯片CC2652RB,昇润科技突破技术壁垒给你的电子产品“另一种心跳”
- 数据库备份的几种解决方案
- 微信小程序中的添加收获地址的流程
- 用html和css构建简单的静态网页
- FPGA学习之串口篇
- 原生js完成拼图小游戏
- 一个数加100是完全平方数,再加168又是一个完全平方数
- AdaBoost公式简单版本的推导