From 9d80ca54db95820d084f30fc8995d6b26ab13015 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 7 Apr 2026 08:49:14 +1000 Subject: [PATCH] Use plugin save method directly --- src/PIL/PdfImagePlugin.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/PIL/PdfImagePlugin.py b/src/PIL/PdfImagePlugin.py index 5594c7e0f2b..cb26786b0d9 100644 --- a/src/PIL/PdfImagePlugin.py +++ b/src/PIL/PdfImagePlugin.py @@ -148,10 +148,14 @@ def _write_image( strip_size=math.ceil(width / 8) * height, ) elif decode_filter == "DCTDecode": - Image.SAVE["JPEG"](im, op, filename) + from . import JpegImagePlugin + + JpegImagePlugin._save(im, op, filename) elif decode_filter == "JPXDecode": + from . import Jpeg2KImagePlugin + del dict_obj["BitsPerComponent"] - Image.SAVE["JPEG2000"](im, op, filename) + Jpeg2KImagePlugin._save(im, op, filename) else: msg = f"unsupported PDF filter ({decode_filter})" raise ValueError(msg)