Erstellen Sie PDF-Berichte aus der PHP- und FPDF-Bibliothek

Inhaltsverzeichnis
Wir beginnen mit dem Herunterladen der Bibliothek von www.fpdf.org, entpacken und kopieren das fpdf-Verzeichnis nach dem Herunterladen in das Verzeichnis unserer Anwendung.
Ein einfaches Beispiel:
 Seite hinzufügen (); $ pdf-> SetFont ('Arial', 'B', 16); $ pdf-> Cell (80, 10, 'Dies ist eine 40 x 10 Zelle', 1); $ pdf-> Zelle (50, 10, '50x10 Zelle', 1); $pdf-> Ln (10); $ pdf-> SetFont ('Arial', 'I', 12); $ pdf-> Cell (80, 10, 'Dies ist eine 40 x 10 Zelle', 0); $ pdf-> Zelle (50, 10, '50x10 Zelle', 0); $pdf-> Ausgabe(); ?> var13 -> 

Wir rufen die Bibliothek aus dem fpdf-Verzeichnis auf, erstellen ein Objekt und fügen eine Seite mit AddPage() hinzu, stellen Schriftart, Stil und Größe ein. Dann erstellen wir eine Zelle, die Daten mit der folgenden Struktur enthält

$ pdf-> Zelle (Breite, Höhe, Inhalt, Rahmen, Ausrichtung); // Ausrichtung L Links, C Zentriert, R Rechts

Das Ergebnis des vorherigen Codes in pdf ist:
Die Ausgabefunktion ist diejenige, die das PDF anzeigt, wenn wir den Parameter eingeben. Ich sende die Datei an den Browser, wenn wir den Parameter setzen D zeige das Download-Fenster, also wenn wir im vorherigen Code schreiben
$ pdf-> Ausgabe ('mipdf.pdf', 'd');

Als Ergebnis erscheint das Download-Fenster, um das PDF zu speichern.
Wir können auch komplexere Dokumente wie Rechnungen, Kostenvoranschläge oder Handelsberichte erstellen, Datenbanken wie mysql verwenden.
Im folgenden Beispiel sehen wir, wie Sie ein Budget mit einem Header-Bild erstellen

 Seite hinzufügen (); $ pdf-> SetFont ('Arial', 'B', 16); // Ich füge den Header ein und füge ein Bild in eine Zelle ein $ pdf-> Cell (700,85, $ pdf-> Image ('./ images / logo-invoice.jpg.webp', 30,12,160), 0,0, ' C '); $ pdf-> Cell (100,12, "Budget:". $ fielddb ['nrobudget']); $ pdf-> Zelle (100,12, "Datum:". Datum ('d / m / Y')); $ pdf-> Zeile (35,40,190,40); $pdf-> Ln (7); $ pdf-> Zelle (100,12, "Name:". $ dbfield ['name'])); $ pdf-> Zelle (90.12, "Nif:". $ rowcli ['nif']); $ pdf-> Zeile (35,48,190,48); $pdf-> Ln (7); $ pdf-> Zelle (100,12, "Adresse:". $ dbfield ['Adresse']); $pdf-> Zeile (35,56,190,56); $pdf-> Ln (7); $ pdf-> Cell (90.12, Akzente ("Phone:". $ fielddb ['phone'])); $ pdf-> Zeile (35,62,190,62); $pdf-> Ln (7); $ pdf-> Zelle (100,12, "Computer:". $ fielddb ['Computer']); $ pdf-> Zeile (35,68,190,68); $pdf-> Ln (9); $ pdf-> SetFont ('Arial', 'B', 10); $ pdf-> Zelle (60.12, 'BUDGET'); $pdf-> Ln (2); $ pdf-> SetFont ('Arial', '', 8); ?> var13 -> 

Dann generiere ich durch eine Abfrage an die Datenbank plus eine while-Schleife die anderen Zellen und berechne die Beträge.
 Cell(139,7,acentos($campodb['concepto']),1,0,'1'); [/indent] [indent=1]$pdf->Cell(15,7,chr(128)." ".number_format($campodb['precio'],2,'.',''),1,0,'R'); [/indent] [indent=1]//calculo el total[/indent] $precio=$precio+$campodb['precio']; } ?> 

Dann erstellen wir die verbleibenden Zellen für die Summen, Mehrwertsteuer und Steuern nach Bedarf
 Ln (7); $ pdf-> Zelle (110.7); $ pdf-> Zelle (29.8, "TOTAL", 1.0, 'R'); $ pdf-> Cell (15,8, chr (128). "" .number_format ($ priceconiva, 2, '.', ''), 1,0, 'R'); $pdf-> Ln (20); $ pdf-> Multicell (400,4, "Hinweis:". $ rowrepar ['notapresu']); ?> var13 -> 

Wir fügen auch eine Multicell hinzu, die die Funktion mehrerer Zellen in einer erfüllt, die für große Textblöcke wie eine Fußnote dient
Schließlich geben wir unserer Datei einen Namen, in den wir eine ID einfügen können, die sie gemäß einer Datenbank auflistet, und wir definieren die Download-Option.
 Ausgabe ($-Datei, "D"); ?> var13 -> 

Eine weitere interessante Anwendung ist die Kombination von fpdf mit Klassen, um Barcodes mit I25, EAN 39, 128 usw. zu generieren. Auf der fpdf-Website gibt es einige Beispiele und andere Skripte, die von der Community zum Testen bereitgestellt werden. Hier ist ein Beispiel für einen Zahlungs-Stub, den Kunden von einer Website herunterladen.

Ein sehr häufiges Problem, das diese Bibliothek normalerweise verursacht, besteht darin, Akzente nicht zu respektieren. Wir können das mit einer Funktion lösen und dann jeden Text des Inhalts überprüfen.
 

Auf diese Weise speichern wir das FPDF-Problem und die Akzente.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave