Opret pdf -rapporter fra PHP- og FPDF -biblioteket

Indholdsfortegnelse
Vi starter med at downloade biblioteket fra www.fpdf.org, når det er downloadet, pakker vi ud og kopierer fpdf -biblioteket til biblioteket i vores applikation.
Et enkelt eksempel:
 AddPage (); $ pdf-> SetFont ('Arial', 'B', 16); $ pdf-> Cell (80, 10, 'This is a 40 x 10 cell', 1); $ pdf-> Cell (50, 10, '50x10 Cell', 1); $ pdf-> Ln (10); $ pdf-> SetFont ('Arial', 'I', 12); $ pdf-> Cell (80, 10, 'This is a 40 x 10 cell', 0); $ pdf-> Cell (50, 10, '50x10 Cell', 0); $ pdf-> Output (); ?> var13 -> 

Vi kalder biblioteket fra fpdf -biblioteket, opretter et objekt og tilføjer en side med AddPage (), indstiller skrifttype, stil og størrelse. Derefter opretter vi en celle til at indeholde data med følgende struktur

$ pdf-> Celle (bredde, højde, indhold, kant, justering); // Justering L Venstre, C centreret, R Højre

Resultatet af den tidligere kode i pdf vil være:
Output -funktionen er den, der viser pdf -filen, hvis vi sætter parameteren Jeg sender filen til browseren, hvis vi sætter parameteren D vis downloadvinduet, derfor hvis vi skriver i den forrige kode
$ pdf-> Output ('mipdf.pdf', 'd');

Som et resultat heraf vises download -vinduet for at gemme pdf'en.
Vi kan også lave mere komplekse dokumenter såsom fakturaer, estimater eller kommercielle rapporter, bruge databaser som mysql.
I det følgende eksempel vil vi se, hvordan du opretter et budget med et overskriftsbillede

 AddPage (); $ pdf-> SetFont ('Arial', 'B', 16); // Jeg indsætter overskriften med et billede inde i en celle $ pdf-> Celle (700,85, $ pdf-> Billede ('./ images/ logo-invoice.jpg.webp', 30,12,160), 0,0, ' C '); $ pdf-> Cell (100,12, "Budget:". $ fielddb ['nrobudget']); $ pdf-> Cell (100,12, "Date:". date ('d / m / Y')); $ pdf-> Linje (35,40,190,40); $ pdf-> Ln (7); $ pdf-> Celle (100,12, "Navn:". $ dbfield ['navn'])); $ pdf-> Cell (90.12, "Nif:". $ rowcli ['nif']); $ pdf-> Linje (35,48,190,48); $ pdf-> Ln (7); $ pdf-> Cell (100,12, "Adresse:". $ dbfield ['adresse']); $ pdf-> Linje (35,56,190,56); $ pdf-> Ln (7); $ pdf-> Cell (90,12, accenter ("Telefon:". $ fielddb ['telefon'])); $ pdf-> Linje (35,62,190,62); $ pdf-> Ln (7); $ pdf-> Cell (100,12, "Computer:". $ fielddb ['computer']); $ pdf-> Linje (35,68,190,68); $ pdf-> Ln (9); $ pdf-> SetFont ('Arial', 'B', 10); $ pdf-> Celle (60,12, 'BUDGET'); $ pdf-> Ln (2); $ pdf-> SetFont ('Arial', '', 8); ?> var13 -> 

Gennem en forespørgsel til databasen plus et stykke loop genererer jeg de andre celler og beregner mængderne.
 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']; } ?> 

Derefter opretter vi de resterende celler til totaler, moms og afgif.webpter efter behov
 Ln (7); $ pdf-> Celle (110,7); $ pdf-> Celle (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, "Bemærk:". $ rowrepar ['notapresu']); ?> var13 -> 

Vi tilføjer også en multicelle, der opfylder funktionen af ​​flere celler i en, tjener til store tekstblokke såsom en fodnote
Endelig giver vi et navn til vores fil, som vi kan sætte et id, der vil opregne dem i henhold til en database, og vi definerer downloadmuligheden.
 Output ($ fil, "D"); ?> var13 -> 

En anden interessant applikation er at kombinere fpdf med klasser til at generere stregkoder med I25, EAN 39, 128 osv. På fpdf -webstedet er der nogle eksempler og andre scripts leveret af fællesskabet til test. Her er et eksempel på en betalingsstub, som kunder downloader fra et websted.

Et meget almindeligt problem, som dette bibliotek normalt giver, er ikke at respektere accenter, vi kan løse det med en funktion og derefter gennemgå hver tekst i indholdet.
 

På denne måde gemmer vi FPDF -problemet og accenter.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave