diff --git a/src/components/Tutorials.astro b/src/components/Tutorials.astro index 61949d5..8b0a741 100644 --- a/src/components/Tutorials.astro +++ b/src/components/Tutorials.astro @@ -8,27 +8,60 @@ function downloadPDF(elementId, title) { const element = document.getElementById(elementId); - // Optionen für html2pdf + // Extrahiere Daten aus dem DOM + const titleText = element.querySelector('h3').innerText; + const descText = element.querySelector('p').innerText; + const steps = []; + + element.querySelectorAll('.flex.gap-4').forEach(stepDiv => { + const num = stepDiv.querySelector('.font-mono').innerText; + const h4 = stepDiv.querySelector('h4').innerText; + const p = stepDiv.querySelector('p').innerText; + steps.push({ num, h4, p }); + }); + + // Generiere ein sauberes, druckbares HTML-Dokument (Weißer Hintergrund, dunkler Text) + const html = ` +
+
+ GEBRÜDER BRABETZ — PRAXIS-TUTORIAL +

${titleText}

+

${descText}

+
+ +
+ ${steps.map(step => ` +
+
${step.num}
+
+

${step.h4}

+

${step.p}

+
+
+ `).join('')} +
+ +
+ © 2026 Gebrüder Brabetz Garten- & Landschaftsbau. Alle Rechte vorbehalten.
+ Dieses Dokument wurde automatisch generiert. Besuchen Sie uns auf brabetz.de +
+
+ `; + const opt = { - margin: 15, + margin: 0, filename: `Tutorial-${title}.pdf`, image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2, - backgroundColor: '#0c0a09', // Stone 950 (Dunkler Hintergrund für Premium-Look) + backgroundColor: '#ffffff', useCORS: true }, jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' } }; - // Klonen um Padding für das PDF hinzuzufügen - const clone = element.cloneNode(true); - clone.style.padding = "20px"; - clone.style.borderRadius = "0"; - clone.style.border = "none"; - // PDF generieren - html2pdf().set(opt).from(clone).save(); + html2pdf().set(opt).from(html).save(); }