Package: pdfposter
Version: 0.8.1-4
Severity: important
X-Debbugs-Cc: [email protected]

Dear Maintainer,

On a PDF file generated by inkscape, pdfposter fails here with this error:

     $ pdfposter workers.pdf -v  -s2.25 -m Let foo.odf
     ---- processing page 1 -----
     Deciding for 3 columns and 2 rows of portrait pages.
     Traceback (most recent call last):
       File "/usr/bin/pdfposter", line 33, in <module>
         sys.exit(load_entry_point('pdftools.pdfposter==0.8.1', 
'console_scripts', 'pdfposter')())
                  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
       File "/usr/share/pdfposter/pdftools/pdfposter/cmd.py", line 192, in run
         main(args, infilename=args.infilename, outfilename=args.outfilename)
         ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/share/pdfposter/pdftools/pdfposter/__init__.py", line 350, in 
main
         posterize(outpdf, page, opts.media_size, opts.poster_size, opts.scale,
         ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   opts.use_ArtBox)
                   ^^^^^^^^^^^^^^^^
       File "/usr/share/pdfposter/pdftools/pdfposter/__init__.py", line 282, in 
posterize
         _scale_pdf_page(outpdf, page, scale)
         ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
       File "/usr/share/pdfposter/pdftools/pdfposter/__init__.py", line 257, in 
_scale_pdf_page
         content = ContentStream(page["/Contents"].get_object(), None)
       File "/usr/lib/python3/dist-packages/pypdf/generic/_data_structures.py", 
line 1198, in __init__
         stream_data = stream.get_data()
       File "/usr/lib/python3/dist-packages/pypdf/generic/_data_structures.py", 
line 1418, in get_data
         new_data.write(operator)
         ~~~~~~~~~~~~~~^^^^^^^^^^
     TypeError: a bytes-like object is required, not 'str'


I tried removing and re-installing the package, with no effect.

Google AI suggests:

    The error a bytes-like object is required in pdfposter typically
    occurs because of a conflict between Python 2 and Python 3 or an
    outdated dependency. The issue arises because Python 3 strictly
    distinguishes between strings (Unicode text) and bytes (binary data),
    while Python 2 did not. 
    
    Solution 1: Use an updated version
    
    The most direct cause of this error is using an old version of
    pdfposter that was built for Python 2. Versions 0.7 and earlier did
    not support Python 3 and used an outdated library (pyPdf). A fix was
    implemented in version 0.8 to make it Python 3 compatible by switching
    to PyPDF2.

I see there have been several new versions released this summer.
Pdfposter version 0.9 included a port to version 3 of the pypdf
library, so I expect just packaging a current version would fix the
problem.


-- System Information:
Debian Release: forky/sid
  APT prefers unstable
  APT policy: (700, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.6-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages pdfposter depends on:
ii  libjs-jquery      3.7.1+dfsg+~3.5.33-1
ii  libjs-sphinxdoc   8.1.3-5
ii  libjs-underscore  1.13.4~dfsg+~1.11.4-3
ii  python3           3.13.7-1
ii  python3-pypdf     5.4.0-1

pdfposter recommends no packages.

pdfposter suggests no packages.

-- no debconf information

Reply via email to