CG Sarkari Naukri – Create resume online free | 2kTech Free CV Maker
CG Sarkari Naukri – Create Resume Online Free
`;
}
html += `
`;
// Skills
html += `
Skills
`;
if(skills.length){
skills.forEach(s=> html += `
${escapeHtml(s)}`);
} else {
html += `
No Skills
`;
}
html += `
`;
// Languages & declaration
html += `
Languages Known
${languages.map(l=>`- ${escapeHtml(l)}
`).join('')}
`;
html += `
Declaration
${escapeHtml(declaration)}
`;
// Signature area
html += `
Date: ____________
Place: ____________
Signature
( ${escapeHtml(signatureName)} )
`;
document.getElementById('previewArea').innerHTML = html;
}
/* PDF download with branding in footer */
async function downloadPDF(){
const downloadBtn = document.getElementById('downloadBtn');
const originalBtnText = downloadBtn.innerText;
// Set loading state
downloadBtn.disabled = true;
downloadBtn.innerText = 'Generating...';
downloadBtn.classList.add('loading');
try {
renderPreview();
const preview = document.getElementById('previewArea');
const canvas = await html2canvas(preview, {scale:2, useCORS:true, backgroundColor:'#ffffff'});
const imgData = canvas.toDataURL('image/png');
const { jsPDF } = window.jspdf;
const pdf = new jsPDF({orientation:'portrait', unit:'pt', format:'a4'});
const pageWidth = pdf.internal.pageSize.getWidth();
const pageHeight = pdf.internal.pageSize.getHeight();
const margin = 20;
let finalImgWidth, finalImgHeight;
// Calculate image dimensions to fit page
const canvasAspect = canvas.width / canvas.height;
const pageAspect = (pageWidth - margin*2) / (pageHeight - margin*2);
if (canvasAspect > pageAspect) {
finalImgWidth = pageWidth - margin*2;
finalImgHeight = finalImgWidth / canvasAspect;
} else {
finalImgHeight = pageHeight - margin*2;
finalImgWidth = finalImgHeight * canvasAspect;
}
const imgX = (pageWidth - finalImgWidth) / 2;
const imgY = (pageHeight - finalImgHeight) / 2;
pdf.addImage(imgData, 'PNG', imgX, imgY, finalImgWidth, finalImgHeight);
// Add branding to footer
pdf.setFontSize(10);
pdf.setTextColor(120);
const brandText = "Generated via CGSarkariNaukri.com | © 2kTech";
pdf.text(brandText, pageWidth/2 - pdf.getTextWidth(brandText)/2, pageHeight - 12);
pdf.save('Resume.pdf');
} catch (error) {
console.error("PDF generation failed:", error);
alert("PDF generation failed. Please try again.");
} finally {
// Reset button state
downloadBtn.disabled = false;
downloadBtn.innerText = originalBtnText;
downloadBtn.classList.remove('loading');
}
}