我想阅读pdf文件。这是一个带有密码(256 位 AES 加密)的 book.pdf。我知道一个密码。我正在使用 Jupyter Notebook。
我收到一个错误:
import PyPDF2
pdfReader = PyPDF2.PdfFileReader(open('book.pdf', 'rb'))
pdfReader.decrypt('333')
pdfReader.getPage(0)
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-12-7dd54b6a760a> in <module>()
1 import PyPDF2
2 pdfReader = PyPDF2.PdfFileReader(open('book.pdf', 'rb'))
----> 3 pdfReader.decrypt('333')
4 pdfReader.getPage(0)
c:\users\a\programs\python\python36-32\lib\site-packages\PyPDF2\pdf.py in
decrypt(self, password)
1985 self._override_encryption = True
1986 try:
-> 1987 return self._decrypt(password)
1988 finally:
1989 self._override_encryption = False
c:\users\a\python\python36-32\lib\site-packages\PyPDF2\pdf.py in
_decrypt(self, password)
1994 raise NotImplementedError("only Standard PDF encryption
handler is available")
1995 if not (encrypt['/V'] in (1, 2)):
-> 1996 raise NotImplementedError("only algorithm code 1 and 2
are supported")
1997 user_password, key = self._authenticateUserPassword(password)
1998 if user_password:
NotImplementedError: only algorithm code 1 and 2 are supported
Run Code Online (Sandbox Code Playgroud)
最近,我也遇到了同样的问题。我不确定为什么会发生错误,但这里有一种缓解它的方法,使用的模块不同于PyPDF2:
import pikepdf
pdf = pikepdf.open('book.pdf',password='333')
pdf.save('book_without_pass.pdf')
Run Code Online (Sandbox Code Playgroud)
上面的代码将加密后的pdfbook.pdf与密码一起保存,'333'以book_without_pass.pdf
| 归档时间: |
|
| 查看次数: |
7293 次 |
| 最近记录: |