`;
lucide.createIcons();
}
resultsOutput.classList.remove('hidden');
downloadPdfBtn.disabled = false;
}
async function handlePdfDownload() {
if (!analysisDataForPdf) {
alert("Please generate an analysis first."); return;
}
document.getElementById('pdf-summary').innerHTML = `
${item.standard}
${item.clause}
${item.issue}
${item.recommendation}
${item.severity}
`).join('');
const contentToPrint = document.getElementById('pdf-output');
contentToPrint.style.display = 'block';
try {
const canvas = await html2canvas(contentToPrint, { scale: 2 });
const { jsPDF } = window.jspdf;
const imgData = canvas.toDataURL('image/png');
const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' });
const pdfWidth = pdf.internal.pageSize.getWidth();
const pdfHeight = (canvas.height * pdfWidth) / canvas.width;
pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight);
pdf.save('Compliance-Analysis-Report.pdf');
} catch (err) {
console.error("Error generating PDF:", err);
alert("Could not generate PDF.");
} finally {
contentToPrint.style.display = 'none';
}
}
// --- EVENT LISTENERS ---
analyzeBtn.addEventListener('click', handleAnalysis);
downloadPdfBtn.addEventListener('click', handlePdfDownload);
// --- INITIALIZATION ---
lucide.createIcons();
});
Overall Status: ${analysisDataForPdf.overallStatus}
Summary: ${analysisDataForPdf.summary}
`; document.getElementById('pdf-document-text').textContent = docInput.value; const tableBody = document.querySelector('#pdf-issues-table tbody'); tableBody.innerHTML = analysisDataForPdf.issues.map(item => `