Compliance Document Analyzer

Compliance Document Analyzer

Analyze your documents against key regulatory standards.

Compliance Standards

Analysis Report

Your compliance report will appear here.

Compliance Analysis Report

Analysis Summary

Identified Issues

StandardClause / AreaIssueRecommendationSeverity

Analyzed Document

No issues found based on the selected standards.

`; 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 = `

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 => ` ${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(); });
Scroll to Top