TCPDF.
Einleitung zu TCPDF,
TCPDF ist eine leistungsstarke PHP-Bibliothek, mit der sich dynamisch PDF-Dokumente erstellen und verwalten lassen. Die Open-Source-Lösung ist vor allem dann nützlich, wenn man direkt aus einer Webanwendung heraus PDF-Dateien generieren möchte, beispielsweise für Rechnungen, Berichte oder Formulare.
Ein großer Vorteil von TCPDF ist, dass sie vollständig unabhängig arbeitet und keine zusätzlichen Erweiterungen wie Ghostscript oder externe Bibliotheken benötigt. Die Bibliothek unterstützt UTF-8, diverse Schriftarten und Stile sowie das Einbinden von Bildern und komplexen Layouts. Sogar Barcodes und QR-Codes können mit TCPDF erstellt werden.
Einige wichtige Funktionen:
- Flexible Layouts: Positioniere Text, Bilder oder andere Elemente präzise.
- Mehrsprachigkeit: Vollständige Unterstützung für Unicode, auch für Sprachen wie Chinesisch, Arabisch oder Russisch.
- HTML-Rendering: HTML- und CSS-Inhalte lassen sich direkt in PDFs umwandeln.
- Seiteneinstellungen: Kontrolle über Seitenränder, -größen und -ausrichtungen.
- Sicherheit: Verschlüsselung und Passwortschutz für PDFs.
writeHTMLCell()
Die writeHTMLCell()
-Methode in TCPDF ermöglicht es, HTML-Inhalte in eine Zelle zu schreiben. Hier sind die Parameter im Detail erklärt:
Breite: Die Breite der Zelle, in der der HTML-Inhalt geschrieben werden soll. Wenn dieser Wert auf 0 gesetzt ist, wird die Breite automatisch berechnet, um den Text umzubrechen.
Höhe: Die Höhe der Zelle, in der der HTML-Inhalt geschrieben werden soll. Wenn dieser Wert auf 0 gesetzt ist, wird die Höhe automatisch berechnet, um den Text umzubrechen.
X-Position: Die X-Koordinate (von links nach rechts) der Zelle auf der aktuellen Seite.
Y-Position: Die Y-Koordinate (von oben nach unten) der Zelle auf der aktuellen Seite.
HTML-Inhalt: Der HTML-Code, der in die Zelle geschrieben werden soll. Hier können Sie HTML-Tags wie
<a>
,<b>
,<i>
usw. verwenden, um den Text zu formatieren oder Links hinzuzufügen.Rand: Der Rand um den HTML-Inhalt innerhalb der Zelle. Standardmäßig ist dieser Wert auf 0 gesetzt.
Absatzausrichtung: Die Ausrichtung des HTML-Inhalts innerhalb der Zelle. Mögliche Werte sind: 0 für linksbündig, 1 für zentriert und 2 für rechtsbündig. Standardmäßig ist dieser Wert auf 0 (linksbündig) gesetzt.
Letzte Zelle: Ein Flag, das angibt, ob es sich um die letzte Zelle in der Zeile handelt. Standardmäßig ist dieser Wert auf 0 gesetzt.
Zeilenumbruch: Ein Flag, das angibt, ob automatische Zeilenumbrüche im HTML-Inhalt erlaubt sind. Standardmäßig ist dieser Wert auf true gesetzt.
Schriftname: Der Name der Schriftart, die für den HTML-Inhalt verwendet werden soll. Standardmäßig ist dieser Wert auf “ (leerer String) gesetzt, was bedeutet, dass die aktuelle Schriftart verwendet wird.
Schriftgröße: Die Größe der Schrift, die für den HTML-Inhalt verwendet werden soll. Standardmäßig ist dieser Wert auf 0 gesetzt, was bedeutet, dass die aktuelle Schriftgröße verwendet wird.
Unterstützung für Zeilenumbrüche: Ein Flag, das angibt, ob TCPDF automatische Zeilenumbrüche unterstützen soll. Standardmäßig ist dieser Wert auf false gesetzt.
Anpassung des Seitenzustands: Ein Flag, das angibt, ob der Seitenzustand (derzeitige Schriftart, Schriftgröße und Farbe) nach dem Schreiben des HTML-Inhalts wiederhergestellt werden soll. Standardmäßig ist dieser Wert auf true gesetzt.
Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='')
$w
: Die Breite der Zelle. Wenn 0, wird die Zelle bis zum rechten Rand der Seite gedehnt.$h
: Die Höhe der Zelle. Wenn 0, wird die Höhe automatisch berechnet, um den Text einzuschließen.$txt
: Der Text, der in der Zelle platziert werden soll.$border
: Der Rand der Zelle. Standardmäßig ist dies 0, was bedeutet, dass keine Grenze vorhanden ist. Mögliche Werte sind:- 0: Kein Rand
- 1: Rahmen um die Zelle
$ln
: Legt fest, ob und wie der Cursor nach dem Hinzufügen der Zelle bewegt werden soll. Mögliche Werte sind:- 0: Cursor bleibt an der aktuellen Position
- 1: Cursor geht zur nächsten Zeile
- 2: Cursor geht zur nächsten Zeile und die X-Position wird auf den linken Rand zurückgesetzt
$align
: Die Ausrichtung des Textes innerhalb der Zelle. Mögliche Werte sind:- L oder leer: Links ausgerichtet (Standard)
- C: Zentriert ausgerichtet
- R: Rechts ausgerichtet
$fill
: Bestimmt, ob die Zelle gefüllt werden soll (true
) oder nicht (false
). Standardmäßig ist diesfalse
.$link
: Der Hyperlink, der der Zelle zugeordnet werden soll. Wenn leer, wird kein Link hinzugefügt.
MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false)
$w
: Die Breite der Zelle.$h
: Die Höhe der Zelle. Wenn 0, wird die Höhe automatisch berechnet, um den Text einzuschließen.$txt
: Der Text, der in die Zelle eingefügt werden soll. Dies kann auch ein Array von Zeichenfolgen sein, um Absätze zu erstellen.$border
: Der Rand der Zelle.$align
: Die Ausrichtung des Textes innerhalb der Zelle.$fill
: Bestimmt, ob die Zelle gefüllt werden soll (true
) oder nicht (false
).