From f693a3a0e5355376438988eb2f35dcd82a936571 Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Wed, 6 May 2026 23:51:16 +1000 Subject: [PATCH] Use plugin method directly when saving PDFs (#9547) --- 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 5594c7e0f..cb26786b0 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)