PDF renderer: Fix crash while embedding iamge (PRETIXEU-8MY)

This commit is contained in:
Raphael Michel
2023-06-23 11:51:23 +02:00
parent cc7f249cb8
commit 34e7a0fc31

View File

@@ -860,22 +860,32 @@ class Renderer:
image_file = None image_file = None
if image_file: if image_file:
ir = ThumbnailingImageReader(image_file)
try: try:
ir = ThumbnailingImageReader(image_file)
ir.resize(float(o['width']) * mm, float(o['height']) * mm, 300) ir.resize(float(o['width']) * mm, float(o['height']) * mm, 300)
canvas.drawImage(
image=ir,
x=float(o['left']) * mm,
y=float(o['bottom']) * mm,
width=float(o['width']) * mm,
height=float(o['height']) * mm,
preserveAspectRatio=True,
anchor='c', # centered in frame
mask='auto'
)
except: except:
logger.exception("Can not resize image") logger.exception("Can not load or resize image")
pass canvas.saveState()
canvas.drawImage( canvas.setFillColorRGB(.8, .8, .8, alpha=1)
image=ir, canvas.rect(
x=float(o['left']) * mm, x=float(o['left']) * mm,
y=float(o['bottom']) * mm, y=float(o['bottom']) * mm,
width=float(o['width']) * mm, width=float(o['width']) * mm,
height=float(o['height']) * mm, height=float(o['height']) * mm,
preserveAspectRatio=True, stroke=0,
anchor='c', # centered in frame fill=1,
mask='auto' )
) canvas.restoreState()
else: else:
canvas.saveState() canvas.saveState()
canvas.setFillColorRGB(.8, .8, .8, alpha=1) canvas.setFillColorRGB(.8, .8, .8, alpha=1)