📎 Angular + PDF-Export – Automatisierte Reports mit Base64 + Charts

Du willst PDF-Reports direkt aus deiner Angular-App generieren – mit eingebetteten Charts, dynamischen Inhalten und Branding?

In diesem Beitrag zeige ich dir:

  • Wie du HTML + Charts in PDF umwandelst
  • Wie Base64-Encoded Charts perfekt integriert werden
  • Und wie du Reports automatisiert generierst

📦 Benötigte Tools

Installiere:

npm install jspdf html2canvas

Optional für Charts:

npm install highcharts

🛠 Setup für PDF-Export

import jsPDF from 'jspdf';
import html2canvas from 'html2canvas';

generatePDF() {
  const element = document.getElementById('pdf-section');

  html2canvas(element!).then(canvas => {
    const imgData = canvas.toDataURL('image/png');
    const pdf = new jsPDF();
    pdf.addImage(imgData, 'PNG', 0, 0, 210, 297);
    pdf.save('report.pdf');
  });
}

➡ Exportiere jeden DOM-Abschnitt als Bild + PDF


📊 Highcharts als Base64

exportChart(chart: Highcharts.Chart): string {
  return chart.getSVGForExport({}).toString('base64');
}

Dann:

pdf.addImage('data:image/svg+xml;base64,' + svgBase64, 'PNG', 10, 10, 180, 100);

📄 Dynamischer Reportaufbau

Nutze *ngIf, @Input() und ng-template für konfigurierbare Layouts:

<div id="pdf-section">
  <app-header />
  <app-user-summary [user]="user" />
  <app-chart-export [chart]="myChart" />
</div>

➡ So kannst du Inhalte individuell zusammenstellen


🧩 Best Practices

  • Nutze html2canvas mit festen Größen (keine % in PDF-Bereich!)
  • Logos & Markenfarben per CSS einbinden
  • Charts Base64 codieren vor dem Export
  • Reports serverseitig generieren, wenn viele Seiten/Benutzer

✅ Fazit

Angular + PDF = 🚀
Ob Rechnung, Angebotsreport oder Dashboard-Export –
du hast die volle Kontrolle, das Branding und die Automatisierung in deiner Hand.


📍 Bald im Blog: 🎯 Angular Performance: ChangeDetection, Signals & Zonenfrei

Hast du Fragen oder ein Projekt im Kopf?

Ich freue mich auf deine Nachricht. Lass uns gemeinsam deine Vision verwirklichen!

Jetzt Kontakt aufnehmen