mirror of
https://github.com/ocrmypdf/OCRmyPDF.git
synced 2025-11-15 17:44:46 +00:00
Fix UnboundLocalError when considering ImageMasks for optimization
Uncovered by test file in issue 667, although unrelated to that issue.
This commit is contained in:
parent
7f73a6ed1e
commit
54bbbfdeb3
@ -115,13 +115,14 @@ def extract_image_jbig2(
|
|||||||
and filtdp[0] != Name.JBIG2Decode
|
and filtdp[0] != Name.JBIG2Decode
|
||||||
and jbig2enc.available()
|
and jbig2enc.available()
|
||||||
):
|
):
|
||||||
try:
|
|
||||||
# Save any colorspace associated with the image, so that we
|
# Save any colorspace associated with the image, so that we
|
||||||
# will export a pure 1-bit PNG with no palette or ICC profile.
|
# will export a pure 1-bit PNG with no palette or ICC profile.
|
||||||
# Showing the palette or ICC to jbig2enc will cause it to perform
|
# Showing the palette or ICC to jbig2enc will cause it to perform
|
||||||
# colorspace transform to 1bpp, which will conflict the palette or
|
# colorspace transform to 1bpp, which will conflict the palette or
|
||||||
# ICC if it exists.
|
# ICC if it exists.
|
||||||
colorspace = pim.obj.ColorSpace
|
colorspace = pim.obj.get(pikepdf.Name.ColorSpace, None)
|
||||||
|
if colorspace is not None or pim.image_mask:
|
||||||
|
try:
|
||||||
# Set to DeviceGray temporarily; we already in 1 bpc.
|
# Set to DeviceGray temporarily; we already in 1 bpc.
|
||||||
pim.obj.ColorSpace = pikepdf.Name.DeviceGray
|
pim.obj.ColorSpace = pikepdf.Name.DeviceGray
|
||||||
imgname = root / f'{xref:08d}'
|
imgname = root / f'{xref:08d}'
|
||||||
@ -132,7 +133,10 @@ def extract_image_jbig2(
|
|||||||
return None
|
return None
|
||||||
finally:
|
finally:
|
||||||
# Restore image colorspace after temporarily setting it to DeviceGray
|
# Restore image colorspace after temporarily setting it to DeviceGray
|
||||||
|
if colorspace is not None:
|
||||||
pim.obj.ColorSpace = colorspace
|
pim.obj.ColorSpace = colorspace
|
||||||
|
else:
|
||||||
|
del pim.obj.ColorSpace
|
||||||
return XrefExt(xref, ext)
|
return XrefExt(xref, ext)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user