PDF-Generierung in PHP: Überblick über Bibliotheken 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

PDF-Generierung in PHP: vollständiger Überblick über Werkzeuge und Bibliotheken



Die Generierung von PDF-Dokumenten auf der Serverseite ist eine der häufigen Aufgaben in der Webentwicklung. Von Rechnungen und Berichten bis hin zu Zertifikaten und Büchern bleibt das PDF-Format der Standard für den Dokumentenaustausch. In PHP gibt es mehrere ausgereifte Bibliotheken, jede mit ihren eigenen Stärken. In diesem Artikel analysieren wir vier Hauptwerkzeuge: FPDF, TCPDF, Dompdf und mPDF, zeigen Codebeispiele und helfen Ihnen, die passende Lösung für Ihr Projekt auszuwählen.



1. FPDF – eine leichte und schnelle Bibliothek

FPDF ist eine der ältesten und beliebtesten Bibliotheken zur PDF-Generierung in PHP. Sie benötigt keine externen Abhängigkeiten, arbeitet schnell und ist ideal für einfache Dokumente: Lieferscheine, Quittungen, Urkunden.



Installation

composer require setasign/fpdf


Beispiel: einfaches PDF mit Text und Bild

<?phprequire_once 'vendor/autoload.php';

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'Hallo Welt!');$pdf->Image('logo.png', 10, 20, 30);$pdf->Output();?>


FPDF unterstützt:

  • Arbeit mit verschiedenen Schriftarten (TrueType, Type1)
  • Erstellung von Tabellen, mehrzeiligen Zellen
  • Einfügen von Bildern (JPEG, PNG, GIF)
  • Seitennummerierung, Kopf- und Fußzeilen

Nachteil: eingeschränkte Unterstützung von HTML und CSS – alle Elemente müssen programmatisch erstellt werden.



2. TCPDF – ein leistungsstarkes Werkzeug für komplexe Dokumente

TCPDF ist eine erweiterte Version von FPDF, die Unterstützung für Unicode, HTML-Tags, SVG, digitale Signaturen, QR-Codes und vieles mehr hinzufügt. Ideal geeignet für die Erstellung von Rechnungen, Zertifikaten, Berichten mit Tabellen.



Installation

composer require tecnickcom/tcpdf


Beispiel: PDF mit HTML-Inhalt und Tabelle

<?phprequire_once 'vendor/autoload.php';

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->AddPage();$html = '<h1>Überschrift</h1><table border="1"><tr><td>Zelle 1</td><td>Zelle 2</td></tr></table>';$pdf->writeHTML($html, true, false, true, false, '');$pdf->Output('example.pdf', 'I');?>


Wichtige Funktionen von TCPDF:

  • Vollständige Unicode-Unterstützung (UTF-8) und kyrillische Schrift
  • Integrierte Vorlagen, Seitennummerierung
  • Vektorgrafiken (SVG, PDF-Formulare)
  • Digitale Signaturen, Verschlüsselung
  • Unterstützung von JavaScript in PDF


3. Dompdf – Generierung aus HTML/CSS

Dompdf ermöglicht die Erstellung von PDFs aus HTML-Markup und verarbeitet CSS (einschließlich Flexbox, Grid, Media Queries). Ideal, wenn Sie bereits Webvorlagen haben oder schnell eine HTML-Seite in ein PDF umwandeln möchten.



Installation

composer require dompdf/dompdf


Beispiel: PDF aus einem HTML-String

<?phpuse Dompdf\\Dompdf;

require_once 'vendor/autoload.php';

$dompdf = new Dompdf();$html = '<h2 style="color:blue;">Hallo von Dompdf!</h2><p>Dies ist ein aus HTML generiertes PDF.</p>';$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream("document.pdf");?>


Besonderheiten von Dompdf:

  • Unterstützung von CSS 2.1 und teilweise CSS3
  • Arbeit mit Bildern, Schriftarten (lokal und Google Fonts)
  • Integrierte Unterstützung für kyrillische Schrift bei Verwendung korrekter Schriftarten
  • Einfache Integration mit Frameworks (Laravel, Symfony)

Wichtig: Für komplexe Layouts mit JavaScript oder Animation

Empfehlungen