Travel Health & Immunization Checklist

Travel Health & Immunization Checklist

Step 1: Describe Your Trip

This checklist is a general guide and NOT a substitute for professional medical advice. Consult a travel medicine specialist or your doctor 4-6 weeks before your trip for personalized recommendations.

`; reportPlaceholderEl.classList.add('hidden'); reportContentEl.classList.remove('hidden'); } // --- PDF GENERATION --- window.downloadPDF = async () => { const { jsPDF } = window.jspdf; if (!state.reportData) return; const { inputs, checklist } = state.reportData; const reportContainer = document.createElement('div'); reportContainer.id = 'pdf-report'; reportContainer.className = 'w-[800px] bg-white p-10 text-gray-800'; reportContainer.style.position = 'absolute'; reportContainer.style.left = '-9999px'; reportContainer.style.fontFamily = 'Inter, sans-serif'; const createPdfSection = (title, items) => { if (items.length === 0) return ''; return `

${title}

    ${items.map(item => `
  • ${item.name}: ${item.desc}
  • `).join('')}
`; }; const destinationText = document.getElementById('destination').options[document.getElementById('destination').selectedIndex].text; reportContainer.innerHTML = `

Travel Health Checklist

Generated: ${new Date().toLocaleString('en-US', { dateStyle: 'full', timeStyle: 'short' })}

Your Trip Summary

Destination: ${destinationText}

Travel Style: ${inputs.travelStyle.charAt(0).toUpperCase() + inputs.travelStyle.slice(1)}

${createPdfSection('💉 Recommended Vaccinations', checklist.vaccines)} ${createPdfSection('💊 Prescription Medications to Discuss', checklist.meds)} ${createPdfSection('🩹 First-Aid Kit Essentials', checklist.firstAid)} ${createPdfSection('💡 Health & Safety Tips', checklist.tips)}

Important Disclaimer: This checklist is a general guide and NOT a substitute for professional medical advice. Consult a travel medicine specialist or your doctor 4-6 weeks before your trip for personalized recommendations.

`; document.body.appendChild(reportContainer); try { const canvas = await html2canvas(reportContainer, { scale: 2, useCORS: true, logging: false }); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'mm', format: 'a4' }); const pageHeight = pdf.internal.pageSize.getHeight(); const pageWidth = pdf.internal.pageSize.getWidth(); const margin = 15; const contentWidth = pageWidth - (margin * 2); const imgProps = pdf.getImageProperties(imgData); const contentHeight = (imgProps.height * contentWidth) / imgProps.width; let heightLeft = contentHeight; let position = 0; pdf.addImage(imgData, 'PNG', margin, margin, contentWidth, contentHeight); heightLeft -= (pageHeight - (margin * 2)); while (heightLeft > 0) { position -= (pageHeight - (margin * 2)); pdf.addPage(); pdf.addImage(imgData, 'PNG', margin, position + margin, contentWidth, contentHeight); heightLeft -= (pageHeight - (margin * 2)); } pdf.save('Travel-Health-Checklist.pdf'); } catch (error) { console.error("Error generating PDF:", error); alert("Sorry, there was an error creating the PDF report."); } finally { document.body.removeChild(reportContainer); } }; // --- INITIALIZATION --- switchTab(1); });
Scroll to Top