`;
downloadPdfBtn.textContent = 'Generating...';
downloadPdfBtn.disabled = true;
container.classList.remove('hidden');
container.style.position = 'absolute';
container.style.left = '-9999px';
container.style.top = '0';
try {
const canvas = await html2canvas(pdfPreview, { scale: 2 });
const imgData = canvas.toDataURL('image/png');
const pdf = new jsPDF({ orientation: 'l', unit: 'pt', format: 'a4' }); // Landscape for certificate
const pdfWidth = pdf.internal.pageSize.getWidth();
const pdfHeight = pdf.internal.pageSize.getHeight();
pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight);
pdf.save(`${traineeName.replace(/ /g, '_')}_Data_Security_Certificate.pdf`);
} catch (error) {
console.error("Error generating PDF:", error);
} finally {
container.classList.add('hidden');
container.style.position = '';
downloadPdfBtn.textContent = 'Download Certificate';
downloadPdfBtn.disabled = false;
pdfPreview.innerHTML = '';
}
}
downloadPdfBtn.addEventListener('click', downloadPDF);
// --- Initial Load ---
generateQuiz();
updateNavButtons();
});
