Générer des fichiers PDF avec PHP

Table des matières
Les archives PDF se han convertido prácticamente en un estándar en la web para la transmisión de documentos asegurándonos que no pierden el formato al cambiar de plataforma y que además se imprimirán exactamente de la forma en que se ven, además que no son modificables si hemos aplicado ciertos controles para les mêmes.
Cela signifie que lorsqu'on nous demande de générer une sortie de type rapport à partir d'un système que nous avons créé dans PHP, une des options avec la génération d'un fichier CSV est la génération d'un fichier PDF.
FPDFAfin de résoudre ce problème, nous pouvons nous soutenir dans la communauté PHP et obtenez la bibliothèque FPDF, qui ne nécessite aucune configuration de serveur supplémentaire. Cela fait de cette bibliothèque une grande aide et que nous pouvons l'implémenter même dans les services Partager l'hébergement où l'accès aux paramètres est généralement limité par le fournisseur de services.
Pour créer notre premier document PDF nous devons d'abord nous assurer que nous comprenons ce qu'est un fichier PDF. Ses acronymes correspondent à l'anglais de Portable Document Format et a été créé par la société Adobe pour faciliter la manière dont les différents documents que nous pouvons générer et que nous devons envoyer à d'autres personnes sont partagés.
UNE PDF Il se compose d'un certain nombre de pages qui vont d'une page à celles auxquelles résiste la mémoire de nos équipements. Chaque page contiendra du texte, des graphiques, des couleurs, des images, etc. Lors de la génération d'un PDF, cela peut être téléchargé depuis le navigateur ou avec quelques add-ons, il peut être lu et affiché en ligne directement, c'est pourquoi il est si puissant, son seul défaut et aussi l'une de ses plus grandes vertus est qu'il n'est pas fait pour être modifié en ce moment.
Puisque nous avons fait nos devoirs pour comprendre la partie derrière et avant le code, nous allons générer notre premier fichier. Nous allons créer un document avec une seule page et nous allons y inclure un petit texte.
Comment le faire?Pour atteindre l'objectif, nous devons créer un nouveau document PHP et dans sa première ligne après l'ouverture des balises il faut faire l'inclusion de la librairie FPDF, nous allons le faire avec l'instruction exiger () car de cette façon, si nous ne trouvons pas la bibliothèque, le programme donnera une erreur et il n'y aura donc aucune possibilité d'exécuter quelque chose et d'obtenir un résultat indésirable.
Ensuite, nous allons créer un type d'objet FPDF sur laquelle nous allons appliquer certaines méthodes, telles que ajouter une page () pour ajouter une nouvelle feuille à notre avenir PDF, ou alors cellule () pour créer une section à l'intérieur de la feuille et enfin production () qui est celui qui envoie le résultat au navigateur.
Voyons l'exemple de code afin que nous puissions comprendre tout ce que nous avons expliqué :
 ajouter une page (); $ pdf-> setFont ("Arial", 'B', 18); $ pdf-> cell (50, 20, "Bonjour ! Nous avons créé notre premier PDF !!!"); $ pdf-> sortie (); 

Ici, la seule chose supplémentaire que nous voyons est la méthode setFont () qui nous permet de choisir la famille de police du texte, son style, c'est-à-dire s'il est en italique, en gras italique et sa taille en pixels, dans le cas du code nous avons placé Arial, B pour gras et une taille de 18 pixels.
Dans la méthode cellule () les premiers paramètres font référence à l'emplacement du texte dans le document et le dernier est le texte qui doit apparaître. Finalement production () nous donne le résultat à afficher. Lorsque vous l'exécutez sur un serveur de test, tel que Wamp, nous pouvons voir un résultat semblable au suivant :

AGRANDIR

On peut remarquer l'ensemble des contrôles dans la partie supérieure qui nous montrent que le PDF il a été interprété par le navigateur sans aucun problème.
Ce que nous avons vu peut nous aider à sortir d'un document rapidement et sans beaucoup d'exigences, mais cela ne signifie pas que notre PDF ils ne pourraient pas être plus complexes et avoir plus de détails.
Lors de la création de l'instance de FPDF, nous pouvons définir certains paramètres dans le constructeur de la classe qui peuvent nous aider à lui donner plus d'éléments qui peuvent faire varier le style de notre PDF, on peut passer de choses aussi basiques comme par exemple changer l'orientation du document de portrait en paysage à changer le système métrique avec lequel il prendra les distances.
Voyons quelques-unes des propriétés que nous pouvons modifier lors de la génération d'un PDF avec FPDF dans PHP:
OrientationNous avons deux options possibles P pour la forme verticale ou portrait d'où son initiale par Mode portrait en anglais et nous avons L pour le format paysage ou Paysage correspondant également à la langue anglaise.
Unité de mesurePour l'unité de mesure, nous avons trois options pt pour les points, dans pour les pouces et cm Pour les centimètres, selon le pays dans lequel nous vivons et les résultats que nous voulons, nous pouvons varier l'unité de mesure vers quelque chose qui est plus confortable pour nous.
Taille de la pageAutre caractéristique vitale puisque généralement pour l'impression des documents nous devons établir une taille adéquate pour notre document, ici nous avons Lettre pour la taille des lettres, Légal pour la taille légale, alors nous avons d'autres formats populaires comme A3, A5 ou A4. Si nous fouillons dans la documentation de FPDF Nous pouvons même voir qu'il y a la possibilité de générer nos propres tailles pour la feuille.
Puisque nous avons appris qu'il existe des fonctionnalités supplémentaires pour générer notre document, il est temps de générer un nouvel exemple, pour cela nous allons appliquer les configurations dans le constructeur de classe et nous allons également utiliser les coordonnées pour localiser les éléments dans la même feuille. .
Les coordonnées (0,0) est un système qui nous permet de localiser l'élément dans un plan horizontal X et vertical Y de notre PDF avec cela, nous pouvons contrôler exactement l'emplacement de ces éléments. Regardons le code pour avoir une idée de tout cela :
 ajouter une page (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> cellule (0,0, "Coin supérieur gauche", 0, 0, 'L'); $ pdf-> cellule (0,0, "Coin supérieur droit", 0, 0, 'R'); $ pdf-> ln (2.5); $ pdf-> cellule (0, 0, "Au milieu", 0, 0, 'C'); $ pdf-> ln (5.3); $ pdf-> cellule (0, 0, "En bas à gauche", 0, 0, 'L'); $ pdf-> cellule (0, 0, "En bas à droite", 0, 0, 'R'); $ pdf-> sortie (); 

En premier lieu, nous voyons qu'après avoir inclus notre bibliothèque FPDF on va créer l'objet correspondant, dans le constructeur de classe on passe l'orientation P, l'unité de mesure dans et enfin la taille de la feuille lettre, puis nous ajoutons une page et l'acte suivant, nous définissons la police du texte.
Avec les coordonnées on va jouer un peu et les changer pour voir la différence avec l'axe vertical, à droite de la méthode cellule nous voyons quelques chiffres supplémentaires, ceux-ci sont utilisés pour créer des lignes et la lettre L, R ou C correspond à la justification du texte, c'est-à-dire aligné à gauche, à droite ou au centre.
La méthode ln () nous permet de passer une mesure pour qu'un espace soit généré, comme celui-ci dans cet exemple ln (2.5) va se déplacer de 2,5 pouces avant le prochain appel de méthode cellule () c'est pourquoi nous voyons que dans la génération du texte suivant qui dit Au milieu il apparaîtra beaucoup plus bas dans le document. Voyons à quoi cela ressemble lorsqu'il est exécuté sur le serveur local :

On remarque dans la partie supérieure à quoi ressemble notre jeu avec les coordonnées où le premier texte est bien plus haut que le second et les espaces générés dans le document. Si nous descendons, nous pouvons voir la partie inférieure de notre document et l'emplacement du texte que nous avons placé.
Polices et styles inclusPuisque nous avons vu comment créer un document de manière basique, nous allons voir quels styles de texte nous avons initialement disponibles avec notre bibliothèque FPDF.
Les polices que nous pouvons placer par défaut sont :
  • Arial.
  • Fois
  • Helvetica
  • Courrier
  • symbole
  • ZapfDingbats
Cependant, nous pouvons utiliser des polices personnalisées simplement en ayant le fichier qui lui correspond et nous pouvons les ajouter avec la méthode addFont (). Les styles que nous pouvons utiliser sont :
  • B pour gras.
  • I pour les italiques.
  • U pour souligner.
Par exemple, pour inclure tous ces styles, il suffit de les placer les uns à côté des autres au moment où l'on définit la police du texte :
$ pdf-> setFont ("Courier", 'IBU', 10);

On remarque alors qu'il est très facile de changer cela. Si nous voulons également ajouter une couleur, appelez simplement la méthode setTextColor et lui passer le code de la même au format RVB. Par exemple:
$ pdf-> setTextColor (255, 0, 0);

Pour une couleur rouge de notre texte. Comme tâche, nous allons laisser ces nouvelles instructions s'appliquer dans certains des PDF déjà créé dans le didacticiel d'une manière qui renforce les connaissances.
Avec ceci nous terminons, nous avons appris à générer des fichiers PDF de manière simple et très rapide uniquement en incluant une bibliothèque dans notre projet en PHP. Il est très important de voir la documentation officielle de FPDF car il existe d'autres fonctionnalités qui peuvent nous aider à créer de meilleurs documents.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