-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Description
Hi!
This problem was spotted in #2170:
https://github.com/py-pdf/pypdf/blob/issue-2160/tests/test_cli.py#L91
I was able to quickly reproduce it with pdfly,
but the underlying bug is in pypdf:
Reproduction steps
pdfly extract-images box.pdf
PDF file source: https://github.com/py-pdf/pypdf/blob/main/resources/box.pdf
Traceback
Error in sys.excepthook:
Traceback (most recent call last):
File "~/.local/lib/python3.8/site-packages/typer/main.py", line 72, in except_hook
rich_tb = Traceback.from_exception(
TypeError: from_exception() got an unexpected keyword argument 'suppress'
Original exception was:
Traceback (most recent call last):
File "~/.local/lib/python3.8/site-packages/PIL/Image.py", line 1853, in putalpha
self.im.setmode(mode)
ValueError: image has wrong mode
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "~/.local/bin/pdfly", line 8, in <module>
sys.exit(entry_point())
File "~/.local/lib/python3.8/site-packages/typer/main.py", line 328, in __call__
raise e
File "~/.local/lib/python3.8/site-packages/typer/main.py", line 311, in __call__
return get_command(self)(*args, **kwargs)
File "~/.local/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "~/.local/lib/python3.8/site-packages/typer/core.py", line 778, in main
return _main(
File "~/.local/lib/python3.8/site-packages/typer/core.py", line 216, in _main
rv = self.invoke(ctx)
File "~/.local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "~/.local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "~/.local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "~/.local/lib/python3.8/site-packages/typer/main.py", line 683, in wrapper
return callback(**use_params) # type: ignore
File "~/.local/lib/python3.8/site-packages/pdfly/cli.py", line 62, in extract_images
pdfly.extract_images.main(pdf)
File "~/.local/lib/python3.8/site-packages/pdfly/extract_images.py", line 17, in main
for image_file_object in page0.images:
File "/opt/pypdf/pypdf/_page.py", line 2644, in __iter__
yield self[i]
File "/opt/pypdf/pypdf/_page.py", line 2640, in __getitem__
return self.get_function(lst[index])
File "/opt/pypdf/pypdf/_page.py", line 555, in _get_image
return self._get_image(ids, cast(DictionaryObject, xobjs[id[0]]))
File "/opt/pypdf/pypdf/_page.py", line 544, in _get_image
imgd = _xobj_to_image(cast(DictionaryObject, xobjs[id]))
File "/opt/pypdf/pypdf/filters.py", line 1100, in _xobj_to_image
img.putalpha(alpha)
File "~/.local/lib/python3.8/site-packages/PIL/Image.py", line 1856, in putalpha
im = self.im.convert(mode)
ValueError: conversion from 1 to LA not supported
Environment
Which environment were you using when you encountered the problem?
$ python -m platform
Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-glibc2.29
$ pdfly --version
pdfly 0.2.14
using pypdf==3.15.5Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels