Dynamic Warm-Up Generator

Dynamic Warm-Up Generator

${ex.reps}

`).join(''); }; // --- PDF DOWNLOAD --- const downloadPDF = () => { const { jsPDF } = window.jspdf; elements.outputs.genDate.textContent = new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); html2canvas(elements.pdfArea, { scale: 2, useCORS: true }).then(canvas => { const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'p', unit: 'mm', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = pdf.internal.pageSize.getHeight(); const ratio = canvas.width / canvas.height; let imgWidth = pdfWidth - 20; let imgHeight = imgWidth / ratio; if (imgHeight > pdfHeight - 20) { imgHeight = pdfHeight - 20; imgWidth = imgHeight * ratio; } const x = (pdfWidth - imgWidth) / 2; pdf.addImage(imgData, 'PNG', x, 10, imgWidth, imgHeight); pdf.save('Dynamic-Warm-Up-Routine.pdf'); }).catch(err => { console.error("Error generating PDF:", err); alert("Could not generate PDF. Please try again."); }); }; elements.pdfBtn.addEventListener('click', downloadPDF); });
Scroll to Top