Estoy usando jspdf y html2canvas . Imprimir el componente haría que el pie de página pasara a la página siguiente.
¿Cómo puedo configurar esto donde cambiará de tamaño dinámicamente para que quepa en una página cuando lo imprima en pdf? ¿Es posible que todo el componente quepa en una sola página?
const generatePdf = () => { var doc = new jsPDF("portrait", "pt", "a4"); doc.html(document.querySelector("#pdf"), { html2canvas: { scale: 0.5 }, callback: function (pdf) { pdf.save(`sample.pdf`); } }); };Podrías probar esto, puede que no sea la mejor solución. Además, tenga en cuenta que esto representará el HTML como una imagen y no como texto/gráficos vectoriales.
const quality = 1 // Higher Quality results in better output html2canvas(document.querySelector('#html'), { scale: quality } ).then(canvas => { const pdf = new jsPDF('p', 'mm', 'a4'); pdf.addImage(canvas.toDataURL('image/png'), 'PNG', 0, 0, 211, 298); // Play around with the metrics here to your liking pdf.save(filename); });Siga esta discusión en GitHub para una mejor comprensión.