我一直在尝试找出一种使用python3从受密码保护的pdf中获取页数的方法。到目前为止,我已经尝试了pypdf2和pdfminer2模块。
两者均失败,因为文件未解密。
#!/usr/bin/python3
from PyPDF2 import PdfFileReader
pdfFile = PdfFileReader(open("document.pdf", "rb"))
print(pdfFile.numPages)
此代码将产生错误:
PyPDF2.utils.PdfReadError: File has not been decrypted
有没有一种方法可以在不解密的情况下获取页数?
最佳答案
您可以使用 pdfrw
示例,
a.pdf 和 b.pdf 是相同的pdf。区别是 b.pdf 是受密码保护的pdf 和 a.pdf 是简单的pdf ,没有任何保护,页数均为30
>>> from pdfrw import PdfReader
>>> print len(PdfReader('b.pdf').pages)
30
>>> print len(PdfReader('a.pdf').pages)
30
对于安装,请使用以下命令
pip install pdfrw
有关详细信息 PDFRW
关于Python从受密码保护的pdf获取页面数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45808955/