Lag pdf -rapporter fra PHP- og FPDF -biblioteket

Innholdsfortegnelse
Vi starter med å laste ned biblioteket fra www.fpdf.org. Når vi har lastet det ned pakker vi ut og kopierer fpdf -katalogen til katalogen for applikasjonen vår.
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 ringer biblioteket fra fpdf -katalogen, lager et objekt og legger til en side med AddPage (), angir skrift, stil og størrelse. Deretter lager vi en celle for å inneholde data med følgende struktur

$ pdf-> Celle (bredde, høyde, innhold, kantlinje, justering); // Justering L Venstre, C Sentrert, R Høyre

Resultatet av den forrige koden i pdf vil være:
Output -funksjonen er den som viser pdf -filen hvis vi setter parameteren Jeg sender filen til nettleseren, hvis vi setter parameteren D vis nedlastingsvinduet, derfor hvis vi skriver i forrige kode
$ pdf-> Output ('mipdf.pdf', 'd');

Som et resultat vil nedlastingsvinduet vises for å lagre pdf -filen.
Vi kan også lage mer komplekse dokumenter som fakturaer, estimater eller kommersielle rapporter, bruke databaser som mysql.
I det følgende eksemplet vil vi se hvordan du oppretter et budsjett med et topptekstbilde

 AddPage (); $ pdf-> SetFont ('Arial', 'B', 16); // Jeg setter inn overskriften og legger et bilde inne i en celle $ pdf-> Cell (700,85, $ pdf-> Bilde ('./ 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-> Cell (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, "Address:". $ dbfield ['address']); $ pdf-> Linje (35,56,190,56); $ pdf-> Ln (7); $ pdf-> Cell (90.12, aksenter ("Telefon:". $ fielddb ['telefon'])); $ pdf-> Linje (35,62,190,62); $ pdf-> Ln (7); $ pdf-> Cell (100,12, "Datamaskin:". $ fielddb ['datamaskin']); $ pdf-> Linje (35,68,190,68); $ pdf-> Ln (9); $ pdf-> SetFont ('Arial', 'B', 10); $ pdf-> Cell (60.12, 'BUDGET'); $ pdf-> Ln (2); $ pdf-> SetFont ('Arial', '', 8); ?> var13 -> 

Deretter, gjennom en forespørsel til databasen pluss en stund -sløyfe, genererer jeg de andre cellene og beregner mengdene.
 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']; } ?> 

Deretter oppretter vi de resterende cellene for totalene, mva og avgif.webpter etter behov
 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, "Merk:". $ rowrepar ['notapresu']); ?> var13 -> 

Vi legger også til en multicell, som oppfyller funksjonen til flere celler i en, tjener for store tekstblokker som en fotnote
Til slutt gir vi et navn til filen vår, som vi kan sette en id som vil oppregne dem i henhold til en database, og vi definerer nedlastingsalternativet.
 Utdata ($ fil, "D"); ?> var13 -> 

En annen interessant applikasjon er å kombinere fpdf med klasser for å generere strekkoder med I25, EAN 39, 128, etc. På fpdf -nettstedet er det noen eksempler og andre skript levert av samfunnet for testing. Her er et eksempel på en betalingsstubbe som kunder laster ned fra et nettsted.

Et veldig vanlig problem som dette biblioteket vanligvis gir, er ikke å respektere aksenter. Vi kan løse det med en funksjon og deretter gå gjennom hver tekst i innholdet.
 

På denne måten vil vi lagre FPDF -problemet og aksenter.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave