Interactive Standing Desk Setup Guide
Optimize your workstation for comfort, productivity, and health
Your Measurements
Interactive Visualization
Calculating your optimal setup...
Your Personalized Recommendations
Standing Desk Setup Checklist
Your Setup Progress:
0% Complete
This interactive guide provides personalized recommendations based on ergonomic principles. For medical advice, please consult a healthcare professional.
Your Standing Desk Setup Guide
Your Measurements
Recommended Setup
Setup Checklist
This guide was generated on . These recommendations are based on ergonomic principles. For medical advice, please consult a healthcare professional.
Height: ${heightInput.value} cm
Elbow Height: ${elbowHeightInput.value} cm
Eye Height: ${eyeHeightInput.value} cm
Desk Type: ${deskTypeSelect.options[deskTypeSelect.selectedIndex].text}
Primary Work Type: ${workTypeSelect.options[workTypeSelect.selectedIndex].text}
`; // Add recommendations pdfRecommendations.innerHTML = recommendationsList.innerHTML; // Add checklist pdfChecklist.innerHTML = ''; checklistData.forEach(item => { const checkbox = document.getElementById(`check-${item.id}`); const isChecked = checkbox.checked; pdfChecklist.innerHTML += `${isChecked ? '✓' : ''} ${item.text}
`; }); } // Generate and download PDF function generatePDF() { // Initialize jsPDF const { jsPDF } = window.jspdf; const pdf = new jsPDF({ orientation: 'portrait', unit: 'mm', format: 'a4' }); const pdfContent = document.getElementById('pdf-content'); // Use html2canvas to capture the PDF content html2canvas(pdfContent, { scale: 2, useCORS: true, logging: false }).then(canvas => { const imgData = canvas.toDataURL('image/png'); const imgWidth = 210; // A4 width in mm const pageHeight = 297; // A4 height in mm const imgHeight = canvas.height * imgWidth / canvas.width; let heightLeft = imgHeight; let position = 0; pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight); heightLeft -= pageHeight; // Add new pages if content overflows while (heightLeft >= 0) { position = heightLeft - imgHeight; pdf.addPage(); pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight); heightLeft -= pageHeight; } // Save the PDF pdf.save('Standing_Desk_Setup_Guide.pdf'); // Hide loading loadingElement.style.display = 'none'; }).catch(error => { console.error('Error generating PDF:', error); alert('There was an error generating your PDF. Please try again.'); loadingElement.style.display = 'none'; }); } });