Este código me permite generar el PDF, a partir de una imagen con canvas, cuando la genero en celda o reduzco la revolución (ancho x alto), la imagen de la tabla en el PDF sale a la mitad; ¿Cómo podría arreglarlo?
PDF-A4
<script type="text/javascript"> function demoFromHTML() { var elementHTML = document.getElementById('resultados'); html2canvas(elementHTML, { useCORS: true, onrendered: function(canvas) { var pdf = new jsPDF('p', 'pt', 'A4'); var pageHeight = 1695; var pageWidth = 1250; for (var i = 0; i <= elementHTML.clientHeight / pageHeight; i++) { var srcImg = canvas; var sX = 0; var sY = pageHeight * i; var sWidth = pageWidth; var sHeight = pageHeight; var dX = 0; var dY = 0; var dWidth = pageWidth; var dHeight = pageHeight; window.onePageCanvas = document.createElement("canvas"); onePageCanvas.setAttribute('width', pageWidth); onePageCanvas.setAttribute('height', pageHeight); var ctx = onePageCanvas.getContext('2d'); ctx.drawImage(srcImg, sX, sY, sWidth, sHeight, dX, dY, dWidth, dHeight); var canvasDataURL = onePageCanvas.toDataURL("image/png", 1.0); var width = onePageCanvas.width; var height = onePageCanvas.clientHeight; if (i > 0) pdf.addPage(593, 780); pdf.setPage(i + 1); pdf.addImage(canvasDataURL, 'JPG', 20, 40, (width * .45), (height * .45)); } pdf.save('cotizador.pdf'); } }); } </script>Buenas, a mi me pasaba algo parecido con una imagen que usaba como base y era que le estaba poniendo mal el ancho y alto. ya que dependiendo de los pixeles de la imagen es el ato y ancho en sus valores. tuve que probar con los distintos tipos de tamaños en pixeles => alto y ancho, use esta pagina https://www.distrimar.es/tamano-hoja-a4.html#:~:text=Por%20ejemplo%2C%20el%20tama%C3%B1o%20de,ppp%20(puntos%20por%20pulgada)%3A
Tiene unas opciones mas abajo que seleccionas el tipo de hoja A4 / Letter, etc , los pixeles y te da el tamaño en alto y ancho. Espero te sirva.
saludos