Crea report pdf da libreria PHP e FPDF

Sommario
Iniziamo scaricando la libreria da www.fpdf.org, una volta scaricata decomprimiamo e copiamo la directory fpdf nella directory della nostra applicazione.
Un semplice esempio:
 Aggiungi pagina (); $ pdf-> SetFont ('Arial', 'B', 16); $ pdf-> Cella (80, 10, 'Questa è una cella 40 x 10', 1); $ pdf-> Cella (50, 10, 'Cella 50x10', 1); $ pdf-> Ln (10); $ pdf-> SetFont ('Arial', 'I', 12); $ pdf-> Cella (80, 10, 'Questa è una cella 40 x 10', 0); $ pdf-> Cella (50, 10, 'Cella 50x10', 0); $ pdf-> Uscita (); ?> var13 -> 

Chiamiamo la libreria dalla directory fpdf, creiamo un oggetto e aggiungiamo una pagina con AddPage(), impostiamo il carattere, lo stile e la dimensione. Quindi creiamo una cella per contenere i dati con la seguente struttura

$ pdf-> Cella (larghezza, altezza, contenuto, bordo, allineamento); // Allineamento L Sinistra, C Centrato, R Destra

Il risultato del codice precedente in pdf sarà:
La funzione Output è quella che mostra il pdf se mettiamo il parametro invierò il file al browser, se mettiamo il parametro D mostra la finestra di download, quindi se nel codice precedente scriviamo
$ pdf-> Output ('mipdf.pdf', 'd');

Di conseguenza, apparirà la finestra di download per salvare il pdf.
Possiamo anche realizzare documenti più complessi come fatture, preventivi o relazioni commerciali, utilizzare database come mysql.
Nell'esempio seguente vedremo come creare un budget con un'immagine di intestazione

 Aggiungi pagina (); $ pdf-> SetFont ('Arial', 'B', 16); // inserisco l'intestazione inserendo un'immagine all'interno di una cella $ pdf-> Cell (700,85, $ pdf-> Image ('./ images / logo-invoice.jpg.webp', 30,12,160), 0,0, ' C '); $ pdf-> Cella (100,12, "Budget:". $ fielddb ['nrobudget']); $ pdf-> Cella (100,12, "Data:". data ('d / m / Y')); $ pdf-> Riga (35,40,190,40); $ pdf-> Ln (7); $ pdf-> Cella (100,12, "Nome:". $ dbfield ['nome'])); $ pdf-> Cella (90.12, "Nif:". $ rowcli ['nif']); $ pdf-> Riga (35,48,190,48); $ pdf-> Ln (7); $ pdf-> Cella (100,12, "Indirizzo:". $ dbfield ['indirizzo']); $ pdf-> Riga (35,56,190,56); $ pdf-> Ln (7); $ pdf-> Cell (90.12, accenti ("Telefono:". $ fielddb ['telefono'])); $ pdf-> Riga (35,62,190,62); $ pdf-> Ln (7); $ pdf-> Cella (100,12, "Computer:". $ fielddb ['computer']); $ pdf-> Riga (35,68,190,68); $ pdf-> Ln (9); $ pdf-> SetFont ('Arial', 'B', 10); $ pdf-> Cella (60.12, 'BUDGET'); $ pdf-> Ln (2); $ pdf-> SetFont ('Arial', '', 8); ?> var13 -> 

Quindi, tramite una query al database più un ciclo while, genero le altre celle e calcolo gli importi.
 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']; } ?> 

Quindi creiamo le celle rimanenti per i totali, l'IVA e le tasse a seconda dei casi
 ln (7); $ pdf-> Cella (110.7); $ pdf-> Cella (29,8, "TOTALE", 1,0, 'R'); $ pdf-> Cell (15,8, chr (128). "" .number_format ($ priceconiva, 2, '.', ''), 1,0, 'R'); $ pdf-> Ln (20); $ pdf-> Multicella (400,4, "Nota:". $ rowrepar ['notapresu']); ?> var13 -> 

Aggiungiamo anche un Multicella, che svolge la funzione di più celle in una, serve per grandi blocchi di testo come una nota a piè di pagina
Infine diamo un nome al nostro file, al quale possiamo mettere un id che li enumererà secondo un database e definiamo l'opzione di download.
 Output (file $, "D"); ?> var13 -> 

Un'altra applicazione interessante è combinare fpdf con classi per generare codici a barre con I25, EAN 39, 128, ecc. Sul sito di fpdf ci sono alcuni esempi e altri script forniti dalla comunità per i test. Ecco un esempio di stub di pagamento che i clienti scaricano da un sito web.

Un problema molto comune che questa libreria di solito dà è non rispettare gli accenti, possiamo risolverlo con una funzione e quindi rivedere ogni testo del contenuto.
 

In questo modo salveremo il problema FPDF e gli accenti.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave