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/fpdfBeispiel: 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/tcpdfBeispiel: 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/dompdfBeispiel: 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
Auch in der Bibliothek
Überwachung von C++-Anwendungen: Werkzeuge und Bibliotheken
JSON-Verarbeitung in C# (.NET): Vollständige Anleitung mit Beispielen
Arbeiten mit ZIP/Archiven in TypeScript: vollständige Anleitung zu JSZip und adm-zip