Maak pdf-rapporten vanuit de PHP- en FPDF-bibliotheek

Inhoudsopgave
We beginnen met het downloaden van de bibliotheek van www.fpdf.org, eenmaal gedownload unzip en kopiëren we de fpdf-map naar de map van onze applicatie.
Een eenvoudig voorbeeld:
 Pagina toevoegen (); $ pdf-> SetFont ('Arial', 'B', 16); $ pdf-> Cel (80, 10, 'Dit is een 40 x 10 cel', 1); $ pdf-> cel (50, 10, '50x10 cel', 1); $ pdf-> Ln (10); $ pdf-> SetFont ('Arial', 'I', 12); $ pdf-> Cel (80, 10, 'Dit is een 40 x 10 cel', 0); $ pdf-> cel (50, 10, '50x10 cel', 0); $ pdf-> Uitvoer (); ?> var13 -> 

We roepen de bibliotheek op vanuit de fpdf-directory, maken een object en voegen een pagina toe met AddPage (), stellen het lettertype, de stijl en de grootte in. Vervolgens maken we een cel om gegevens te bevatten met de volgende structuur:

$ pdf-> Cel (breedte, hoogte, inhoud, rand, uitlijning); // Uitlijning L Links, C Gecentreerd, R Rechts

Het resultaat van de vorige code in pdf zal zijn:
De Output-functie is degene die de pdf laat zien als we de parameter plaatsen. Ik zal het bestand naar de browser sturen, als we de parameter plaatsen NS toon het downloadvenster, dus als we in de vorige code schrijven
$ pdf-> Uitvoer ('mipdf.pdf', 'd');

Als gevolg hiervan verschijnt het downloadvenster om de pdf op te slaan.
We kunnen ook complexere documenten zoals facturen, schattingen of commerciële rapporten maken, gebruik maken van databases zoals mysql.
In het volgende voorbeeld zullen we zien hoe u een budget maakt met een kopafbeelding

 Pagina toevoegen (); $ pdf-> SetFont ('Arial', 'B', 16); // Ik voeg de header in door een afbeelding in een cel te plaatsen $ pdf-> Cell (700,85, $ pdf-> Afbeelding ('./ images / logo-invoice.jpg.webp', 30,12,160), 0,0, ' C '); $ pdf-> Cell (100,12, "Budget:". $ fielddb ['nrobudget']); $ pdf-> Cell (100,12, "Datum:". datum ('d / m / Y')); $ pdf-> Lijn (35,40,190,40); $ pdf-> Ln (7); $ pdf-> Cell (100,12, "Naam:". $ dbfield ['naam'])); $ pdf-> Cell (90.12, "Nif:". $ rowcli ['nif']); $ pdf-> Lijn (35,48,190,48); $ pdf-> Ln (7); $ pdf-> Cell (100,12, "Adres:". $ dbfield ['adres']); $ pdf-> Lijn (35,56,190,56); $ pdf-> Ln (7); $ pdf-> Cell (90.12, accenten ("Telefoon:". $ fielddb ['telefoon'])); $ pdf-> Lijn (35,62,190,62); $ pdf-> Ln (7); $ pdf-> Cell (100,12, "Computer:". $ fielddb ['computer']); $ pdf-> Lijn (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 -> 

Vervolgens genereer ik via een query naar de database plus een while-lus de andere cellen en bereken ik de bedragen.
 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']; } ?> 

Vervolgens maken we de resterende cellen voor de totalen, btw en belastingen, indien van toepassing
 Ln (7); $ pdf-> Cel (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, "Opmerking:". $ rowrepar ['notapresu']); ?> var13 -> 

We voegen ook een Multicell toe, die de functie van meerdere cellen in één vervult, dient voor grote blokken tekst zoals een voetnoot
Ten slotte geven we een naam aan ons bestand, waaraan we een id kunnen plaatsen die ze zal opsommen volgens een database en we definiëren de downloadoptie.
 Uitvoer ($ bestand, "D"); ?> var13 -> 

Een andere interessante toepassing is het combineren van fpdf met klassen om barcodes te genereren met I25, EAN 39, 128, enz. Op de fpdf-website staan ​​enkele voorbeelden en andere scripts die door de community zijn aangeleverd om te testen. Hier is een voorbeeld van een betalingsstrook die klanten downloaden van een website.

Een veel voorkomend probleem dat deze bibliotheek meestal geeft, is het niet respecteren van accenten, we kunnen dat oplossen met een functie en vervolgens elke tekst van de inhoud bekijken.
 

Op deze manier zullen we het FPDF-probleem en de accenten opslaan.Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave