Voice-to-Text Meeting Notes Generator

Voice-to-Text Meeting Notes

Click "Start Recording" to begin generating your meeting notes.

${new Date().toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}

Transcript

${mockTranscript}

Summary

${summary}

Action Items

    ${actionItems.map(item => `
  • ${item}
  • `).join('')}
`; elements.notesOutput.innerHTML = html; elements.resultsContainer.classList.remove('hidden'); } async function downloadPDF() { const contentToPrint = document.getElementById('pdf-content'); const title = document.getElementById('pdf-title')?.textContent || 'meeting-notes'; if (!contentToPrint) return; if (typeof window.jspdf === 'undefined' || typeof window.html2canvas === 'undefined') { console.error("PDF generation library is not available."); return; } try { const { jsPDF } = window.jspdf; // We need to temporarily add padding for the PDF output contentToPrint.classList.add('p-8'); const pdfCanvas = await html2canvas(contentToPrint, { scale: 2 }); contentToPrint.classList.remove('p-8'); const imgData = pdfCanvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = (pdfCanvas.height * pdfWidth) / pdfCanvas.width; pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight); pdf.save(`${title.replace(/\s+/g, '-').toLowerCase()}.pdf`); } catch(err) { console.error("PDF generation failed:", err); } } });
Scroll to Top