Créer des rapports pdf à partir de la bibliothèque PHP et FPDF

Table des matières
Nous commençons par télécharger la bibliothèque depuis www.fpdf.org, une fois téléchargée nous décompressons et copions le répertoire fpdf dans le répertoire de notre application.
Un exemple simple :
 Ajouter une page (); $ pdf-> SetFont ('Arial', 'B', 16); $ pdf-> Cellule (80, 10, 'Ceci est une cellule 40 x 10', 1); $ pdf-> Cellule (50, 10, '50x10 Cell', 1); $ pdf -> Ln (10); $ pdf-> SetFont ('Arial', 'I', 12); $ pdf-> Cellule (80, 10, 'Ceci est une cellule 40 x 10', 0); $ pdf-> Cellule (50, 10, '50x10 Cell', 0); $ pdf-> Sortie (); ?> var13 -> 

Nous appelons la bibliothèque à partir du répertoire fpdf, créons un objet et ajoutons une page avec AddPage(), définissons la police, le style et la taille. Ensuite, nous créons une cellule pour contenir des données avec la structure suivante

$ pdf-> Cellule (largeur, hauteur, contenu, bordure, alignement); // Alignement L Gauche, C Centré, R Droite

Le résultat du code précédent en pdf sera :
La fonction Output est celle qui affiche le pdf si on met le paramètre j'enverrai le fichier au navigateur, si on met le paramètre afficher la fenêtre de téléchargement, donc si dans le code précédent on écrit
$ pdf-> Sortie ('mipdf.pdf', 'd');

En conséquence, la fenêtre de téléchargement apparaîtra pour enregistrer le pdf.
Nous pouvons également réaliser des documents plus complexes tels que des factures, des devis ou des rapports commerciaux, utiliser des bases de données telles que mysql.
Dans l'exemple suivant, nous verrons comment créer un budget avec une image d'en-tête

 Ajouter une page (); $ pdf-> SetFont ('Arial', 'B', 16); // J'insère l'en-tête en mettant une image dans une cellule $ pdf-> Cell (700,85, $ pdf-> Image ('./ images / logo-invoice.jpg.webp', 30,12,160), 0,0, ' C'); $ pdf-> Cell (100,12, "Budget :". $ fielddb ['nrobudget']); $ pdf-> Cellule (100,12, "Date :". date ('d / m / Y')); $ pdf-> Ligne (35,40,190,40); $ pdf -> Ln (7); $ pdf-> Cell (100,12, "Nom :". $ dbfield ['nom'])); $ pdf-> Cell (90.12, "Nif:". $ rowcli ['nif']); $ pdf-> Ligne (35,48,190,48); $ pdf -> Ln (7); $ pdf-> Cell (100,12, "Adresse :". $ dbfield ['adresse']); $ pdf-> Ligne (35,56,190,56); $ pdf -> Ln (7); $ pdf-> Cell (90.12, accents ("Téléphone :". $ fielddb ['téléphone']) ); $ pdf-> Ligne (35,62,190,62); $ pdf -> Ln (7); $ pdf-> Cell (100,12, "Ordinateur :". $ fielddb ['ordinateur']); $ pdf-> Ligne (35,68,190,68); $ pdf -> Ln (9); $ pdf-> SetFont ('Arial', 'B', 10); $ pdf-> Cellule (60.12, 'BUDGET'); $ pdf -> Ln (2); $ pdf-> SetFont ('Arial', '', 8); ?> var13 -> 

Ensuite, grâce à une requête dans la base de données plus une boucle while, je génère les autres cellules et calcule les montants.
 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']; } ?> 

Ensuite, nous créons les cellules restantes pour les totaux, la TVA et les taxes, le cas échéant
 Ln (7); $ pdf-> Cellule (110,7) ; $ pdf-> Cellule (29.8, "TOTAL", 1.0, 'R'); $ pdf-> Cellule (15,8, chr (128). "" .number_format ($ priceconiva, 2, '.', ''), 1,0, 'R'); $ pdf -> Ln (20); $ pdf-> Multicell (400,4, "Remarque :". $ rowrepar ['notapresu']); ?> var13 -> 

Nous ajoutons également un Multicell, qui remplit la fonction de plusieurs cellules en une, sert pour les gros blocs de texte comme une note de bas de page
Enfin nous donnons un nom à notre fichier, auquel nous pouvons mettre un identifiant qui les énumérera selon une base de données et nous définissons l'option de téléchargement.
 Sortie (fichier $, "D"); ?> var13 -> 

Une autre application intéressante consiste à combiner fpdf avec des classes pour générer des codes-barres avec I25, EAN 39, 128, etc. Sur le site Web de fpdf, vous trouverez des exemples et d'autres scripts fournis par la communauté pour les tests. Voici un exemple de talon de paiement que les clients téléchargent à partir d'un site Web.

Un problème très courant que cette bibliothèque pose généralement est de ne pas respecter les accents, nous pouvons le résoudre avec une fonction puis revoir chaque texte du contenu.
 

De cette façon, nous sauverons le problème FPDF et les accents.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave