From 6c6cbfd4d6a6fadc7db7dbc96b2359fd0b4d62a8 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Sun, 27 Oct 2024 17:38:52 -0700 Subject: [PATCH] Make images extracted for jbig2enc optimization have unique filenames Fixes #1396 --- src/ocrmypdf/optimize.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ocrmypdf/optimize.py b/src/ocrmypdf/optimize.py index c2ea7bf58..f67b6e4d6 100644 --- a/src/ocrmypdf/optimize.py +++ b/src/ocrmypdf/optimize.py @@ -159,7 +159,10 @@ def extract_image_jbig2( imgname = root / f'{xref:08d}' with imgname.open('wb') as f: ext = pim.extract_to(stream=f) - imgname.rename(imgname.with_suffix(ext)) + # Rename the file so it has .prejbig2.ext extension + # Making it unique avoids problems with Windows if the + # same image is extracted multiple times + imgname.rename(imgname.with_suffix(".prejbig2" + ext)) except NotImplementedError as e: if '/Decode' in str(e): log.debug( @@ -175,7 +178,7 @@ def extract_image_jbig2( pim.obj.ColorSpace = colorspace else: del pim.obj.ColorSpace - return XrefExt(xref, ext) + return XrefExt(xref, ".prejbig2" + ext) return None