maxpmaxp / pdfreader

Python API for PDF documents
MIT License
113 stars 26 forks source link

RecursionError: maximum recursion depth exceeded while calling a Python object #49

Closed UmutAlihan closed 4 years ago

UmutAlihan commented 4 years ago

When I read a PDF file and try to get first page. I get this error:

Error Output:


~/.local/lib/python3.8/site-packages/IPython/core/formatters.py in __call__(self, obj)
    700                 type_pprinters=self.type_printers,
    701                 deferred_pprinters=self.deferred_printers)
--> 702             printer.pretty(obj)
    703             printer.flush()
    704             return stream.getvalue()

~/.local/lib/python3.8/site-packages/IPython/lib/pretty.py in pretty(self, obj)
    375                 if cls in self.type_pprinters:
    376                     # printer registered in self.type_pprinters
--> 377                     return self.type_pprinters[cls](obj, self, cycle)
    378                 else:
    379                     # deferred printer

~/.local/lib/python3.8/site-packages/IPython/lib/pretty.py in inner(obj, p, cycle)
    605             p.pretty(key)
    606             p.text(': ')
--> 607             p.pretty(obj[key])
    608         p.end_group(step, end)
    609     return inner

~/.local/lib/python3.8/site-packages/IPython/lib/pretty.py in pretty(self, obj)
    375                 if cls in self.type_pprinters:
    376                     # printer registered in self.type_pprinters
--> 377                     return self.type_pprinters[cls](obj, self, cycle)
    378                 else:
    379                     # deferred printer

~/.local/lib/python3.8/site-packages/IPython/lib/pretty.py in inner(obj, p, cycle)
    605             p.pretty(key)
    606             p.text(': ')
--> 607             p.pretty(obj[key])
    608         p.end_group(step, end)
    609     return inner

~/.local/lib/python3.8/site-packages/IPython/lib/pretty.py in pretty(self, obj)
    375                 if cls in self.type_pprinters:
    376                     # printer registered in self.type_pprinters
--> 377                     return self.type_pprinters[cls](obj, self, cycle)
    378                 else:
    379                     # deferred printer

~/.local/lib/python3.8/site-packages/IPython/lib/pretty.py in inner(obj, p, cycle)
    553                 p.text(',')
    554                 p.breakable()
--> 555             p.pretty(x)
    556         if len(obj) == 1 and type(obj) is tuple:
    557             # Special case for 1-item tuples.

... last 6 frames repeated, from the frame below ...

~/.local/lib/python3.8/site-packages/IPython/lib/pretty.py in pretty(self, obj)
    375                 if cls in self.type_pprinters:
    376                     # printer registered in self.type_pprinters
--> 377                     return self.type_pprinters[cls](obj, self, cycle)
    378                 else:
    379                     # deferred printer

RecursionError: maximum recursion depth exceeded while calling a Python object```
UmutAlihan commented 4 years ago

my code is as below:

 import pdfreader

# open pdf
file_name = "04NG2020.pdf"
fd = open(file_name, "rb")
doc = pdfreader.PDFDocument(fd)
# get all pages into list
all_pages = [p for p in doc.pages()]
page_8 = all_pages[7]
maxpmaxp commented 4 years ago

@UmutAlihan Could you attach the file please? What version do you use?

maxpmaxp commented 4 years ago

@UmutAlihan I think it's fixed in v0.1.5 and later

UmutAlihan commented 4 years ago

File is more than 80mb Thus it is not practicel for me to upload. However it seems that it's fixed. Thank you very much!