`;
}).join('');
const pdfContentHtml = `
`;
pdfContainer.innerHTML = pdfContentHtml;
const contentToCapture = document.getElementById('pdf-content');
if (!contentToCapture) return;
const sanitizedFileName = keyword.replace(/[^a-z0-9]/gi, '_').toLowerCase();
const fileName = `blog_titles_for_${sanitizedFileName}.pdf`;
html2canvas(contentToCapture, { scale: 2, useCORS: true, logging: false })
.then(canvas => {
const imgData = canvas.toDataURL('image/jpeg', 0.95);
const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' });
const imgProps = pdf.getImageProperties(imgData);
const pdfWidth = pdf.internal.pageSize.getWidth();
const pdfHeight = pdf.internal.pageSize.getHeight();
const ratio = imgProps.width / imgProps.height;
const scaledImgHeight = pdfWidth / ratio;
let heightLeft = scaledImgHeight;
let position = 0;
pdf.addImage(imgData, 'JPEG', 0, position, pdfWidth, scaledImgHeight);
heightLeft -= pdfHeight;
while (heightLeft > 0) {
position -= pdfHeight;
pdf.addPage();
pdf.addImage(imgData, 'JPEG', 0, position, pdfWidth, scaledImgHeight);
heightLeft -= pdfHeight;
}
pdf.save(fileName);
pdfContainer.innerHTML = ''; // Clean up
}).catch(error => {
console.error("Error generating PDF:", error);
pdfContainer.innerHTML = ''; // Clean up
});
};
// Generate initial sample titles on load
generateTitles();
});
Generated Blog Titles
Keyword: ${keyword}
Topic: ${topic}
${titlesHtml}
Generated by SEO-Friendly Blog Title Generator
