某些 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相关推荐

  1. PermissionError: [Errno 13] Permission denied: ‘name.pdf‘

    PermissionError: [Errno 13] Permission denied: 'name.pdf' 目录 PermissionError: [Errno 13] Permission ...

  2. c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf

    c语言深度解剖(解密).pdf.pdf 还剩 130页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: * Str ...

  3. java 加密word_Java 加密和解密PDF文档

    前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...

  4. java加密解密 pdf_Java 加密和解密PDF文档

    前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...

  5. java 解密pdf_Java 加密和解密 PDF

    在日常工作中,当我们需要传输一些重要的PDF文件.合同时,为了避免机密内容被第三方窥探到,我们可以对PDF文件进行加密.当这份文件能够公开了,又可以对其进行解密.那么我们如何在Java应用程序中实现这 ...

  6. java打开密码pdf,在Java中使用密码解密PDF文档

    在Java中使用密码解密PDF文档 文档加密是确保企业与其外部客户之间安全地传递信息的最常用方法之一.所有PDF文件都提供了加密功能,可确保任何试图拦截信息的人都可以在没有密码的情况下打开它,密码应在 ...

  7. java 解密pdf_java – pdfbox:试图解密PDF

    以下 this answer我试图用pdfBox解密pdf文档: PDDocument pd = PDDocument.load(path); if(pd.isEncrypted()){ try { ...

  8. Python调用pikepdf模块解密PDF文件(使用tkinter模块绘制GUI)

    Python调用pikepdf模块解密.合并PDF文件(使用tkinter模块绘制GUI) 安装模块 pip install pikepdf 代码 #!/usr/bin/pythonimport os ...

  9. python批量解密PDF文件

    用解密PDF pdf_reader.decrypy(密码)总会报错. NotImplementedError: only algorithm code 1 and 2 are supported 原因 ...

最新文章

  1. 详解vue组件的is特性:限制元素动态组件
  2. 导航栏下拉菜单效果代码
  3. 岭回归和lasso回归_正则化(2):与岭回归相似的 Lasso 回归
  4. 在web项目中发布jaxws
  5. 记一次Linux服务器因redis漏洞的挖矿病毒入侵
  6. 动点四边形周长最短_初中几何--线段之和最小值 Part 1:通过点关于直线对称点得到两定点之间直线段长度最短。...
  7. 作战手册-2011-12-18
  8. 探究streambuf
  9. Web2.0浪潮下的广播电视业
  10. 新思课堂C语言答案,新思课堂APP最新版下载_新思课堂APP官方版1.6.8下载_QQ下载站...
  11. 虚拟变量陷阱原理及算例
  12. 对冲策略及Python实现
  13. 搭载TI最强芯片CC2652RB,昇润科技突破技术壁垒给你的电子产品“另一种心跳”
  14. 数据库备份的几种解决方案
  15. 微信小程序中的添加收获地址的流程
  16. 用html和css构建简单的静态网页
  17. FPGA学习之串口篇
  18. 原生js完成拼图小游戏
  19. 一个数加100是完全平方数,再加168又是一个完全平方数
  20. AdaBoost公式简单版本的推导

热门文章

  1. 在恋爱游戏里跟你实时聊天的“AI”,其实可能是一位抠脚大汉
  2. Jamie求职记--北邮信通小硕--技术类
  3. 【ICO/WMF】PNG/JPEG转ICO/WMF工具
  4. 正确理解直线的方向向量
  5. 《Scala入坑笔记》一、Scala简介
  6. 程序员常用工具下载地址及方式
  7. 黑盒测试——等价类划分测试法
  8. ViT Patch Embedding理解
  9. 分形、分形几何、数据可视化、Python绘图
  10. python签到教程_Python实现自动签到脚本功能