import puppeteer from 'puppeteer';
import { marked } from 'marked';
export async function generatePdf(markdownContent, title = "SchoolMind Lösung") {
const htmlContent = marked.parse(markdownContent);
const fullHtml = `
${title}
${htmlContent}
`;
let browser;
try {
browser = await puppeteer.launch({
headless: "new",
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
const page = await browser.newPage();
await page.setContent(fullHtml, { waitUntil: 'networkidle0' });
const pdfBuffer = await page.pdf({
format: 'A4',
margin: {
top: '40px',
right: '40px',
bottom: '40px',
left: '40px'
},
printBackground: true,
displayHeaderFooter: false
});
return pdfBuffer;
} catch (e) {
console.error("Fehler beim PDF Generieren:", e);
throw e;
} finally {
if (browser) {
await browser.close();
}
}
}