Académique Documents
Professionnel Documents
Culture Documents
La classe FPDF
I. Introduction
❑ FPDF est une classe PHP qui permet de générer des fichiers PDF.
❑ Principales fonctionnalités :
o Choix des unités, du format des pages et des marges.
o Gestion des en-têtes et pieds de page.
o Saut de page automatique.
o Saut de ligne automatique et justification.
o Images (JPEG, PNG et GIF).
o Couleurs.
o Liens.
o Support des polices TrueType et Type1.
o Compression des pages.
27/02/2024 2
II. Exemple
<?php
// Inclure la librairie fpdf
require('fpdf.php');
// Création d’un objet FPDF.
$pdf = new FPDF(); //Le constructeur (voir diap. suivante) est
utilisé ici avec les valeurs par défaut
$pdf->AddPage(); // ajouter une page
// Avant d'imprimer du texte, il est impératif de définir la
police(on choisit Arial gras en taille 16).
$pdf->SetFont('Arial','B',16);
// Imprimer une cellule (une zone rectangulaire)
$pdf->Cell(40,10,'Bonjour’);
//Enfin, le document est terminé et envoyé au navigateur
$pdf->Output(); ?>
27/02/2024 3
III. __construct
__construct([string orientation [, string unit [, mixed size]]])
❑ Paramètres.
orientation:
Orientation des pages par défaut. Les valeurs possibles sont (indépendamment de la
casse) :
o P ou Portrait.
o L ou Landscape.
La valeur par défaut est celle indiquée dans le constructeur.
27/02/2024 6
size:
Le format utilisé pour les pages. Il peut s'agir d'une des valeurs ci-dessous
(indépendamment de la casse) :
o A3
o A4 (valeur par défaut)
o A5
o Letter
o Legale
ou bien d'un tableau contenant la largeur et la hauteur (exprimées en unité
utilisateur). La valeur par défaut est celle indiquée dans le constructeur.
rotation:
Angle de rotation de la page. La valeur doit être un multiple de 90, la rotation se fait
dans le sens horaire. La valeur par défaut est 0.
27/02/2024 7
V. SetFont
SetFont(string family [, string style [, float size]])
Fixe la police utilisée pour imprimer les chaînes de caractères. Il est obligatoire
d'appeler cette méthode au moins une fois avant d'imprimer du texte, sinon le
document résultant ne sera pas valide.
❑ Paramètres
family
Famille de la police. Il peut s'agir d'un nom défini par AddFont() ou bien d'une des
familles standard :
o Courier (caractères de largeur fixe).
27/02/2024 8
o Helvetica ou Arial (synonymes; sans serif).
o Symbol (symboles).
o ZapfDingbats (symboles).
Le nom n'est pas sensible à la casse. Il est également possible de passer une chaîne
vide, auquel cas la famille courante est conservée.
style
Style de la police. Les valeurs possibles sont (indépendamment de la casse) :
•chaîne vide : normal
•B : gras
•I : italique
27/02/2024 9
•U : souligné
ou une combinaison quelconque. La valeur par défaut est le style normal. Les styles
gras et italique ne s'appliquent pas aux familles Symbol et ZapfDingbats.
size
Taille de la police en points.
La valeur par défaut est la taille courante. Si aucune taille n'a encore été spécifiée
depuis le début du document, la valeur prise est 12.
27/02/2024 10
VI. Cell
Cell(float w [, float h [, string txt [, mixed border [, int ln
[, string align [, boolean fill [, mixed link]]]]]]])
❑ Imprime une cellule (zone rectangulaire) avec éventuellement des bords, un fond
et une chaîne de caractères.
❑ Paramètres
x: La valeur de l'abscisse.
y: La valeur de l'ordonnée.
27/02/2024 14
VIII. Output
string Output([string dest [, string name [, boolean isUTF8]]])
Envoie le document vers une destination donnée : navigateur, fichier ou chaîne de
caractères. Dans le cas du navigateur, on peut utiliser le visualiseur PDF ou bien forcer
le téléchargement. La méthode commence par appeler Close() si nécessaire pour
terminer le document.
dest: Destination où envoyer le document. Le paramètre peut prendre les valeurs
suivantes :
I: envoyer en inline au navigateur. Le visualiseur PDF est utilisé (valeur par défaut).
D: envoyer au navigateur en forçant le téléchargement, avec le nom indiqué dans
name.
27/02/2024 15
VIII. Output
F: sauver dans un fichier local, avec le nom indiqué dans name (peut inclure un
répertoire).
S: renvoyer le document sous forme de chaîne.
name: Le nom du fichier. Il est ignoré dans le cas de la destination S. La valeur par
défaut est doc.pdf.
27/02/2024 16
IX. Image
Image(string file [, float x [, float y [, float w [, float h
[, string type [, mixed link]]]]]])
Place une image.
Fixe la couleur pour toutes les opérations de remplissage (rectangles pleins et fonds
de cellules). Elle peut être indiquée en composantes RGB ou en niveau de gris. La
méthode peut être appelée avant que la première page ne soit créée et la valeur est
conservée de page en page.
Ln([float h])
27/02/2024 21
XI. Autres méthodes
SetMargins(float left, float top [, float right])
Fixe les marges gauche, haute et droite. Par défaut, elles valent 1cm. Appelez cette
méthode si vous désirez les changer.
left : Marge gauche.
top: Marge haute.
right: Marge droite.
Par défaut, est égale à la gauche.
27/02/2024 22
Exemple
<?php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$entete=array('Entete1','Entete2','Entete3'); // Chargement des donnees
$donnees= array(array(200,12,300),array(100,10,200));
// En-tete
foreach($entete as $col)
$pdf->Cell(40,7,$col,1);
$pdf->Ln();
// Donnees
foreach($donnees as $row) {
foreach($row as $col)
$pdf->Cell(40,6,$col,1);
$pdf->Ln(); }
$pdf->Output();
?>
27/02/2024 23