From 43dd04a0a2594ae5c1506c793752ca4243276e4f Mon Sep 17 00:00:00 2001 From: amazuecos Date: Tue, 25 Mar 2025 18:51:44 +0100 Subject: [PATCH] fix preview download --- .../safekat/pages/presupuestoCliente/resumen.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js index cf8814ec..4471218c 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js @@ -379,27 +379,29 @@ class Resumen { let parentDiv = $(event.currentTarget).parent().parent(); let shapeSvgElQuery = $(parentDiv).find("svg"); let shapeSvgEl = shapeSvgElQuery[0]; - console.log(shapeSvgEl) const filename = shapeSvgElQuery.parent().attr("id") ?? "image" const serializer = new XMLSerializer(); const svgData = serializer.serializeToString(shapeSvgEl); const svgBlob = new Blob([svgData], { type: 'image/svg+xml;charset=utf-8' }); const svgUrl = URL.createObjectURL(svgBlob); - const img = new Image(); + const img = new Image(shapeSvgEl.getBoundingClientRect().width,shapeSvgEl.getBoundingClientRect().height); img.onload = () => { + const scaleFactor = 3; // Increase resolution (e.g., 2x, 3x) const canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; + // Scale canvas for high resolution + const width = img.naturalWidth || img.width; + const height = img.naturalHeight || img.height; + canvas.width = width * scaleFactor; + canvas.height = height * scaleFactor; const ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); + ctx.scale(scaleFactor, scaleFactor); + ctx.drawImage(img, 0,0,width,height); const pngUrl = canvas.toDataURL('image/png'); const downloadLink = document.createElement('a'); downloadLink.href = pngUrl; downloadLink.download = filename ?? '.png'; document.body.appendChild(downloadLink); downloadLink.click(); - document.body.removeChild(downloadLink); - URL.revokeObjectURL(svgUrl); };