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

Zunächst haben wir die Bibliothek von www.fpdf.org heruntergeladen. Nach dem Herunterladen haben wir das Verzeichnis fpdf entpackt und in das Verzeichnis unserer Anwendung kopiert.

Ein einfaches Beispiel:

 <? php require ('fpdf17 / fpdf.php'); $ pdf = neues FPDF (); $ pdf-> AddPage (); $ pdf-> SetFont ('Arial', 'B', 16); $ pdf-> Zelle (80, 10, 'Dies ist eine Zelle von 40 x 10', 1); $ pdf-> Cell (50, 10, 'Cell of 50 x 10', 1); $ pdf-> Ln (10); $ pdf-> SetFont ('Arial', 'I', 12); $ pdf-> Zelle (80, 10, 'Dies ist eine Zelle von 40 x 10', 0); $ pdf-> Cell (50, 10, 'Cell of 50 x 10', 0); $ pdf-> Output (); ?> 

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

 $ pdf-> Zelle (Breite, Höhe, Inhalt, Kante, Ausrichtung); // Ausrichtung L links, C zentrieren, R rechts 

FPDF_from_PHP_3.jpg

Das Ergebnis des vorherigen Codes im PDF-Format ist:
Die Funktion Ausgabe ist diejenige, die das PDF anzeigt, wenn wir den Parameter setzen. Ich werde die Datei an den Browser senden, wenn wir den Parameter D setzen, zeige das Download-Fenster, also wenn wir im vorherigen Code schreiben

 $ pdf-> Ausgabe ('mipdf.pdf', 'd'); 

Infolgedessen wird das Download-Fenster angezeigt, in dem das PDF gespeichert wird.

Wir können auch komplexere Dokumente wie Rechnungen, Budgets oder Geschäftsberichte erstellen und Datenbanken wie MySQL verwenden.

Im folgenden Beispiel wird gezeigt, wie Sie ein Budget mit einem Header-Image erstellen

FPDF_from_PHP_2.jpg

 <? php require ('fpdf16 / fpdf.php'); $ pdf = neues FPDF (); $ pdf-> AddPage (); $ pdf-> SetFont ('Arial', 'B', 16); // füge die Überschrift ein, indem du ein Bild in eine Zelle legst $ pdf-> Cell (700.85, $ pdf-> Image ('./ images / logo-factura.jpg', 30,12,160), 0,0, 'C'); $ pdf-> Cell (100.12, "Budget:". $ campodb ['nropresuputao']); $ pdf-> Cell (100.12, "Date:". date ('d / m / Y')); $ pdf-> Line (35,40,190,40); $ pdf-> Ln (7); $ pdf-> Cell (100.12, "Name:". $ campodb ['name'])); $ pdf-> Cell (90.12, "Nif:". $ rowcli ['nif']); $ pdf-> Line (35,48,190,48); $ pdf-> Ln (7); $ pdf-> Cell (100.12, "Address:". $ campodb ['address']); $ pdf-> Line (35, 56, 190, 56); $ pdf-> Ln (7); $ pdf-> Cell (90.12, Akzente ("Phone:". $ campodb ['telefono'])); $ pdf-> Line (35, 62, 190, 62); $ pdf-> Ln (7); $ pdf-> Cell (100.12, "Team:". $ campodb ['computer']); $ pdf-> Line (35,68,190,68); $ pdf-> Ln (9); $ pdf-> SetFont ('Arial', 'B', 10); $ pdf-> Cell (60.12, 'BUDGET'); $ pdf-> Ln (2); $ pdf-> SetFont ('Arial', '', 8); ?> 

Dann mittels einer Abfrage an die Datenbank plus einem Zyklus, während ich die anderen Zellen generiere und die Beträge berechne.

 <? while ($ i <count ($ conultadb)) { [Einzug = 1] $ pdf-> Ln (7); [/ Einzug] [indent = 1] $ pdf-> Cell (139,7, Akzente ($ campodb ['concept']), 1,0, '1'); [/ Einzug] [indent = 1] $ pdf-> Cell (15,7, chr (128). "" .number_format ($ campodb ['price'], 2, '.', ''), 1,0, 'R' ); [/ Einzug] [Einzug = 1] // Ich berechne die Summe [/ Einzug] $ price = $ price + $ fielddb ['price']; }?> 

Anschließend erstellen wir die verbleibenden Zellen für die Summen, die Mehrwertsteuer und die Steuern

 <? $ pdf-> Ln (7); $ pdf-> Cell (110.7); $ pdf-> Cell (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, "Anmerkung:". $ rowrepar ['notapresu']); ?> 

Wir fügen auch eine Multizelle hinzu, die die Funktion mehrerer Zellen in einer erfüllt und für große Textblöcke als Fußnote dient

See also  Ändern Sie die Augenfarbe und die Haare in Photoshop

Schließlich geben wir unserer Datei einen Namen, in den wir eine ID eintragen können, die sie nach einer Datenbank auflistet, und wir definieren die Option zum Herunterladen.

 <? $ file = 'budget-00.pdf'; $ pdfdoc = $ pdf-> Ausgabe ($ file, "D"); ?> 

Eine weitere interessante Anwendung besteht darin, fpdf mit Klassen zu kombinieren, 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 beigesteuert wurden. Hier ist ein Beispiel eines Zahlungsstubs, den Kunden von einer Website herunterladen.

FPDF_from_PHP_3.jpg

Ein sehr verbreitetes Problem, das diese Bibliothek normalerweise aufwirft, ist die Nichtbeachtung der Akzente, die wir mit einer Funktion lösen können, um dann jeden Text des Inhalts zu überprüfen.

 <? Funktionsakzente ($ string) { $ search = explode (",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", " AA¡, Ãà ©, JJ, JJ & SUP3 ;, Ãú, Ãà ± „); $ change = explode (",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ", Í, Ó, Ú, Ñ "); $ correction = str_replace ($ search $ change, $ string); $ korrigierten Text zurückgeben; }?> 

Auf diese Weise sparen wir das Problem des FPDF und die Akzente.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *