当前位置:  首页>> 技术小册>> Python与办公-玩转PDF

如果要读取一份已加密的文档,你必须要使用正确的密码对文档解密才能访问,否则程序会报“PyPDF2.errors.PdfReadError:File has not been decrypted”的错误。调用PdfReader对象的decrypt()方法可以解密,把正确的密码传进去就可以了。

又有一个问题,如果一个文档没有被加密,但你又调用了decrypt()方法,程序也会报错,那么我们怎么知道一个文档有没有被加密?可以访问PdfReader对象的isEncrypted属性,如果文档被加密则它会返回True,所以使用pypdf2解密文档的正确写法如下:

  1. from PyPDF2 import PdfReader
  2. secret = "fLa5fpao%3paH"
  3. reader = PdfReader"./pdf_ files/合并文档.pdf"
  4. if reader.isEncrypted:
  5. reader.decrypt(secret)
  6. print(reader.getPage(0))

该分类下的相关小册推荐: