Skip to content

IndexError: list index out of range after decrypting encrypted file #327

Closed
@denis-osipov

Description

@denis-osipov

After attempt to get page from encrypted file raise error 'PyPDF2.utils.PdfReadError: file has not been decrypted'.
It's ok. But after decrypting the PdfFileReader object calling pdfReader.getPage(0) raise error 'IndexError: list index out of range', although pdfReader.getNumPages() return 19.
If decript file before first call getPage() 'IndexError: list index out of range' doesn't raise.

>>> pdfFileObj = open('encrypted.pdf', 'rb')
>>> pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
>>> pdfReader.getPage(0)
Traceback (most recent call last):
 ...
  File "C:\Python36\lib\site-packages\PyPDF2\pdf.py", line 1617, in getObject
    raise utils.PdfReadError("file has not been decrypted")
PyPDF2.utils.PdfReadError: file has not been decryptedd
>>> pdfReader.decrypt('rosebud')
1
>>> pageObj = pdfReader.getPage(0)
Traceback (most recent call last):
...
  File "C:\Python36\lib\site-packages\PyPDF2\pdf.py", line 1177, in getPage
    return self.flattenedPages[pageNumber]
IndexError: list index out of range
>>> pdfReader.getNumPages()
19

Metadata

Metadata

Assignees

No one assigned

    Labels

    is-bugFrom a users perspective, this is a bug - a violation of the expected behavior with a compliant PDF

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions