Generierung von PDF-Berichten in PHP: Bibliotheksübersicht und Codebeispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Generierung von PDF-Berichten in PHP: Vollständiger Leitfaden für Entwickler



Die Erstellung von PDF-Dokumenten ist eine der gefragtesten Aufgaben in der Webentwicklung. Berichte, Rechnungen, Zertifikate, Lernmaterialien – all dies muss oft dynamisch auf der Serverseite generiert werden. PHP bietet mehrere leistungsstarke Bibliotheken, mit denen Sie PDFs jeder Komplexität erstellen können. In diesem Artikel betrachten wir vier beliebte Tools: TCPDF, FPDF, Dompdf und mPDF, und geben praktische Codebeispiele.



Warum PDF-Generierung in PHP?

PDF (Portable Document Format) ist ein universelles Format, das auf allen Geräten korrekt angezeigt wird. In Bildungsprojekten wie PythonLib können PDF-Berichte verwendet werden für:

  • Export von Testergebnissen und Prüfungen
  • Erstellung von Kursabschlusszertifikaten
  • Generierung von Lehrmaterialien und Zusammenfassungen
  • Erstellung statistischer Berichte für Lehrkräfte


Übersicht der beliebten Bibliotheken



1. TCPDF

TCPDF ist eine der leistungsstärksten und ausgereiftesten Bibliotheken für die Arbeit mit PDF in PHP. Sie unterstützt:

  • Vollen Funktionsumfang von PDF 1.7
  • Einbettung von Schriftarten (einschließlich Unicode und Kyrillisch)
  • Zeichnen von Diagrammen, Tabellen, QR-Codes
  • Unterstützung von CSS (eingeschränkt)

Beispiel für die grundlegende Verwendung:

require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);$pdf->SetCreator('PythonLib');$pdf->SetAuthor('Entwickler');$pdf->SetTitle('Testbericht');

$pdf->AddPage();$pdf->SetFont('dejavusans', '', 14);$pdf->Cell(0, 10, 'Hallo Welt! Dies ist ein PDF-Bericht.', 0, 1, 'C');

$pdf->Output('report.pdf', 'I');


2. FPDF

FPDF ist eine leichtgewichtige und schnelle Bibliothek, ideal für einfache Dokumente. Ihre Hauptmerkmale:

  • Keine externen Abhängigkeiten erforderlich
  • Einfache API zum Hinzufügen von Text, Bildern und Linien
  • Unterstützung von UTF-8 über zusätzliche Pakete

Beispiel für die Erstellung einer Tabelle:

require('fpdf/fpdf.php');

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'Name', 1);$pdf->Cell(40, 10, 'Punkte', 1);$pdf->Ln();$pdf->SetFont('Arial', '', 12);$pdf->Cell(40, 10, 'Ivan', 1);$pdf->Cell(40, 10, '95', 1);$pdf->Output();


3. Dompdf

Dompdf ermöglicht die Konvertierung von HTML+CSS in PDF. Dies ist praktisch, wenn Sie bereits Template-Engines (z. B. Twig) verwenden. Funktionen:

  • Unterstützung von CSS 2.1 und teilweise CSS3
  • Arbeit mit Bildern und Schriftarten
  • Einfache Integration in Webanwendungen

Beispiel mit HTML-Vorlage:

use Dompdf\\Dompdf;

$dompdf = new Dompdf();$html = '<h2 style="color:blue;">Bericht zum Python-Kurs</h2> <p>Student: Alexey, Ergebnis: 87%</p>';$dompdf->loadHtml($html, 'UTF-8');$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('report.pdf');


4. mPDF

mPDF ist eine weitere Bibliothek zur Konvertierung von HTML in PDF. Sie unterstützt komplexe Stile, Unicode sowie:

  • Automatische Erstellung eines Inhaltsverzeichnisses
  • Wasserzeichen und Hintergründe
  • Arbeit mit großen Datenmengen

Beispiel mit Stylesheet:

require_once __DIR__ . '/vendor/autoload.php';

$mpdf = new \\Mpdf\\Mpdf();$mpdf->WriteHTML('<h1>Statistik</h1>

Empfehlungen