PDF-Berichte mit PHP generieren: Überblick über Bibliotheken und Werkzeuge

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-Berichte mit PHP generieren: Überblick über Bibliotheken und Werkzeuge



Das Erstellen von PDF-Dokumenten ist eine häufige Aufgabe in der PHP-Webentwicklung. Ob es um die Erstellung von Rechnungen, Berichten, Zertifikaten oder einfach um den Export von Daten in ein druckfreundliches Format geht, PHP bietet mehrere ausgereifte Lösungen. In diesem Artikel betrachten wir vier Hauptbibliotheken: TCPDF, FPDF, Dompdf und mPDF. Sie erfahren ihre Besonderheiten, Stärken und erhalten Codebeispiele für jede.



1. FPDF – leichter und schneller Klassiker



FPDF ist wohl die bekannteste Bibliothek zur PDF-Generierung in PHP. Sie benötigt keine externen Erweiterungen, funktioniert „out of the box“ und zeichnet sich durch hohe Geschwindigkeit aus. Der Hauptnachteil ist die eingeschränkte Unterstützung für komplexe CSS-Stile und HTML.



Beispiel für die Erstellung eines einfachen PDF-Berichts mit einer Tabelle:



<?phprequire_once('fpdf.php');

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'Verkaufsbericht');$pdf->Ln(20);

$pdf->SetFont('Arial', '', 12);// Tabellenüberschriften$pdf->Cell(60, 7, 'Produkt', 1);$pdf->Cell(30, 7, 'Menge', 1);$pdf->Cell(40, 7, 'Preis', 1);$pdf->Ln();

// Daten$items = [ ['Laptop', 5, 45000], ['Maus', 10, 1200], ['Tastatur', 7, 2500]];

foreach ($items as $item) { $pdf->Cell(60, 7, $item[0], 1); $pdf->Cell(30, 7, $item[1], 1); $pdf->Cell(40, 7, $item[2] . ' Rub.', 1); $pdf->Ln();}

$pdf->Output();?>


Wann verwenden: für einfache Berichte, bei denen kein komplexes Layout benötigt wird, aber Geschwindigkeit und kleine Dateigröße wichtig sind.



2. TCPDF – leistungsstarkes Werkzeug für komplexe PDFs



TCPDF ist ein Fork von FPDF mit erweiterten Funktionen. Es unterstützt Unicode, JPEG2000, QR-Codes, SVG sowie die Arbeit mit HTML und CSS (eingeschränkt). Die Bibliothek wird aktiv weiterentwickelt und in Systemen wie Drupal und Moodle eingesetzt.



Beispiel für die Generierung eines Berichts mit HTML-Markup:



<?phprequire_once('tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->SetCreator(PDF_CREATOR);$pdf->SetAuthor('Ihr Unternehmen');$pdf->SetTitle('Monatsbericht');

$pdf->AddPage();$html = '<h2>Monatsbericht</h2><table border="1" cellpadding="5"> <tr style="background-color:#cccccc;"> <th>Kennzahl</th><th>Wert</th> </tr> <tr> <td>Umsatz</td><td>1.200.000 Rub.</td> </tr> <tr> <td>Ausgaben</td><td>850.000 Rub.</td> </tr> <tr> <td>Gewinn</td><td><strong>350.000 Rub.</strong></td> </tr></table><p>Erstellungsdatum: ' . date('d.m.Y') . '</p>';

$pdf->writeHTML($html, true, false, true, false, '');$pdf->Output('report.pdf', 'I');?>


Wann verwenden: für komplexe Dokumente mit Tabellen, Bildern, nicht standardmäßigen Schriftarten und Unterstützung für Kyrillisch.



3. Dompdf – HTML in PDF verwandeln



Dompdf ist eine Bibliothek, die eine HTML-Seite in PDF rendert. Sie unterstützt CSS2.1 und teilweise CSS3, sodass Berichte mit vertrautem Layout erstellt werden können. Ideal für die Konvertierung vorhandener HTML-Vorlagen.



Beispiel für die Erstellung eines Berichts aus einer HTML-Vorlage:



<?phprequire_once 'dompdf/autoload.inc.php';use Dompdf\\Dompdf;

$dompdf = new

Empfehlungen