PDF-Generierung in PHP: Überblick über Bibliotheken und Tools
Die Erstellung von PDF-Dokumenten ist eine häufige Aufgabe in der Webentwicklung. PHP bietet mehrere ausgereifte Bibliotheken, die es ermöglichen, PDFs aus HTML, dynamischen Daten oder direkt durch Zeichnen zu generieren. In diesem Artikel betrachten wir vier Hauptbibliotheken: TCPDF, FPDF, Dompdf und mPDF, ihre Besonderheiten, Anwendungsbeispiele und Empfehlungen zur Auswahl für eine Bildungswebsite.
1. TCPDF – Industriestandard
TCPDF ist eine der leistungsstärksten Bibliotheken zur PDF-Generierung in PHP. Sie unterstützt Unicode, TrueType- und OpenType-Schriftarten, Passwortschutz, Wasserzeichen, QR-Codes und vieles mehr. Ideal für die Erstellung komplexer Berichte, Rechnungen und Zertifikate.
Installation: über Composer: composer require tecnickcom/tcpdf
Beispiel zur Erstellung eines einfachen PDFs:
<?phprequire_once __DIR__ . '/vendor/autoload.php';
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator('PythonLib.ru');$pdf->SetAuthor('Autor');$pdf->SetTitle('TCPDF-Beispiel');$pdf->SetSubject('PDF-Generierung');
$pdf->AddPage();$pdf->SetFont('dejavusans', '', 14);$pdf->Cell(0, 10, 'Hallo Welt! Dies ist ein PDF von TCPDF.', 0, 1);
$pdf->Output('example_tcpdf.pdf', 'I');?>2. FPDF – leicht und schnell
FPDF ist eine klassische Bibliothek für einfache PDF-Dokumente. Sie erfordert keine zusätzlichen Erweiterungen und ist sehr einfach zu erlernen. Geeignet für die Erstellung von Tabellen, einfachen Berichten und Lieferscheinen.
Installation: herunterladen von fpdf.org oder über Composer: composer require setasign/fpdf
Beispiel mit Tabelle:
<?phprequire_once __DIR__ . '/vendor/autoload.php';
$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 12);
// Tabellenüberschriften$pdf->Cell(40, 10, 'Vorname', 1);$pdf->Cell(40, 10, 'Nachname', 1);$pdf->Cell(40, 10, 'Alter', 1);$pdf->Ln();
$pdf->SetFont('Arial', '', 10);$pdf->Cell(40, 10, 'Ivan', 1);$pdf->Cell(40, 10, 'Petrov', 1);$pdf->Cell(40, 10, '25', 1);
$pdf->Output('example_fpdf.pdf', 'I');?>3. Dompdf – von HTML zu PDF
Dompdf ermöglicht die Konvertierung von HTML+CSS in PDF. Dies ist praktisch, wenn Sie bereits Seitenlayouts haben (z. B. Rechnung oder Artikel). Unterstützt CSS 2.1 und teilweise CSS 3, Schriftarten und Bilder.
Installation: composer require dompdf/dompdf
Beispiel zur HTML-Konvertierung:
<?phprequire_once __DIR__ . '/vendor/autoload.php';
use Dompdf\\Dompdf;
$dompdf = new Dompdf();$html = '<h1 style="color: #3498db;">PDF-Überschrift</h1><p>Dieses Dokument wurde mit Dompdf aus HTML erstellt.</p><table border="1" cellpadding="5"> <tr><th>Spalte 1</th><th>Spalte 2</th></tr> <tr><td>Daten 1</td><td>Daten 2</td></tr></table>';
$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('example_dompdf.pdf', ['Attachment' => 0]);?>4. mPDF – leistungsstarker HTML-Konverter
mPDF ist eine weitere Bibliothek zur Konvertierung von HTML in PDF. Sie unterstützt CSS, Unicode, ostasiatische Schriftarten, die Erstellung von Inhaltsverzeichnissen und Kopf-/Fußzeilen besser als Dompdf. Hervorragend geeignet für Bücher, Zeitschriften und komplexe Dokumente.
Installation: composer require mpdf/mpdf
Beispiel mit Kopf- und Fußzeilen:
<? Auch in der Bibliothek
Kafka Client Java: Vollständiges Tutorial mit Code-Beispielen
Testen in PHP: Überblick über Frameworks und Tools (PHPUnit, Pest, Codeception)
Internationalisierung (i18n) in PHP: gettext-Bibliothek und moderne Ansätze
AutoMapper für C# (.NET): Vollständiger Leitfaden mit Beispielen
Redis-Client für C# (.NET): StackExchange.Redis — Verbindung und Beispiele