PDF-Generierung in PHP: Bibliotheken, Tools 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: Ü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:



<?                    

Empfehlungen