Skip to content

Infinite recursion with some PDF inputs #57

@jgclark

Description

@jgclark

Apologies if this is the wrong place to report this.

I have just found your project to replace pdfbook and pdfnup as I'm moving away from LaTeX to Typst.
I was delighted to find it was available via brew, and appeared to install v3.0.9 without issue on my macOS 13.4.1 machine.
However, man pdfbook etc. return "No manual entry for pdfbook". As the README here doesn't include any usage, I was reduced to reading the code to find the args. I'm not sure why this is missing.

psbook works as expected.
But psnup -2 <file> produces lots of errors:

Traceback (most recent call last):
  File "/usr/local/bin/psbook", line 8, in <module>
    sys.exit(psbook())
             ^^^^^^^^
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/psutils/command/psbook.py", line 86, in psbook
    transform.transform_pages(
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/psutils/transformers.py", line 132, in transform_pages
    transform_pages(pagerange, odd, even, reverse)
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/psutils/transformers.py", line 127, in transform_pages
    self.finalize()
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/psutils/transformers.py", line 482, in finalize
    self.writer.write(self.outfile)
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/pypdf/_writer.py", line 1310, in write
    self.write_stream(stream)
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/pypdf/_writer.py", line 1283, in write_stream
    object_positions = self._write_pdf_structure(stream)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/pypdf/_writer.py", line 1325, in _write_pdf_structure
    object_positions.append(stream.tell())
                            ^^^^^^^^^^^^^
OSError: [Errno 29] Illegal seek
EOF marker not found
Traceback (most recent call last):
  File "/usr/local/bin/psnup", line 8, in <module>
    sys.exit(psnup())
             ^^^^^^^
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/psutils/command/psnup.py", line 158, in psnup
    doc = document_reader(infile, file_type)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/psutils/readers.py", line 124, in document_reader
    return constructor(file)
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/psutils/readers.py", line 25, in __init__
    super().__init__(stream, strict, password)
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/pypdf/_reader.py", line 318, in __init__
    self.read(stream)
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/pypdf/_reader.py", line 1537, in read
    self._find_eof_marker(stream)
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/pypdf/_reader.py", line 1608, in _find_eof_marker
    line = read_previous_line(stream)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/psutils/3.0.9/libexec/lib/python3.11/site-packages/pypdf/_utils.py", line 266, in read_previous_line
    raise PdfStreamError(STREAM_TRUNCATED_PREMATURELY)
pypdf.errors.PdfStreamError: Stream has ended unexpectedly

I'm nopsbook and psnup are both in /usr/local/bin/ and are in the PATH.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions