Docfpdf
Docfpdf
Docfpdf
5
AcceptPageBreak - accepte ou non un saut de page automatique
AddFont - ajoute une nouvelle police
AddLink - crée un lien interne
AddPage - ajoute une nouvelle page
AliasNbPages - définit un alias pour le nombre de pages
Cell - imprime une cellule
Close - termine le document
Error - erreur fatale
Footer - pied de page
FPDF - constructeur
GetStringWidth - calcule la longueur d'une chaîne
GetX - renvoie la position x courante
GetY - renvoie la position y courante
Header - en-tête
Image - imprime une image
Line - trace une ligne
Link - place un lien
Ln - saut de ligne
MultiCell - imprime du texte avec saut de ligne
Open - crée un document
Output - sauve ou envoie le document
PageNo - numéro de page
Rect - trace un rectangle
SetAuthor - définit l'auteur du document
SetAutoPageBreak - fixe le mode saut de page automatique
SetCompression - active ou désactive la compression
SetCreator - définit le créateur du document
SetDisplayMode - fixe le mode d'affichage
SetDrawColor - définit la couleur de tracé
SetFillColor - définit la couleur de remplissage
SetFont - fixe la police
SetFontSize - fixe la taille de la police
SetKeywords - définit les mots-clés associés au document
SetLeftMargin - fixe la marge gauche
SetLineWidth - fixe l'épaisseur des traits
SetLink - définit la destination d'un lien interne
SetMargins - fixe les marges
SetRightMargin - fixe la marge droite
SetSubject - définit le sujet du document
SetTextColor - définit la couleur du texte
SetTitle - définit le titre du document
SetTopMargin - fixe la marge haute
SetX - fixe la position x courante
SetXY - fixe les positions x et y courantes
SetY - fixe la position y courante
Text - imprime une chaîne
Write - imprime du texte en mode flot
AcceptPageBreak
boolean AcceptPageBreak()
Version
1.4
Description
Lorsqu'une condition de saut de page est remplie, la méthode est appelée, et en fonction de la valeur
de retour, le saut est effectué ou non. L'implémentation par défaut renvoie une valeur selon le mode
sélectionné par SetAutoPageBreak().
Cette méthode est appelée automatiquement et ne devrait donc pas être appelée directement par
l'application.
Exemple
La méthode est redéfinie dans une classe dérivée afin d'obtenir un formatage sur 3 colonnes :
function SetCol($col)
{
//Positionnement sur une colonne
$this->col=$col;
$x=10+$col*65;
$this->SetLeftMargin($x);
$this->SetX($x);
}
function AcceptPageBreak()
{
if($this->col<2)
{
//Aller à la colonne suivante
$this->SetCol($this->col+1);
$this->SetY(10);
return false;
}
else
{
//Retour en première colonne et saut de page
$this->SetCol(0);
return true;
}
}
}
$pdf=new PDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','',12);
for($i=1;$i<=300;$i++)
$pdf->Cell(0,5,"Ligne $i",0,1);
$pdf->Output();
Voir
SetAutoPageBreak().
AddFont
AddFont(string family [, string style [, string file]])
Version
1.5
Description
Importe une police TrueType et la rend disponible. Il faut au préalable avoir généré un fichier de
définition de police avec l'utilitaire makefont.php.
Le fichier de définition (ainsi que le fichier de police en cas d'incorporation) doit être présent soit dans
le répertoire courant, soit dans le répertoire indiqué par FPDF_FONTPATH si la constante est définie.
S'il n'est pas trouvé, l'erreur "Could not include font definition file" est renvoyée.
Paramètres
family
Famille de la police. Le nom peut être choisi arbitrairement.
style
Style de la police. Les valeurs possibles sont (indépendamment de la casse) :
● chaîne vide : normal
● B : gras
● I : italique
● BI ou IB : gras italique
Exemple
$pdf->AddFont('Comic','I');
Est équivalent à :
$pdf->AddFont('Comic','I','comici.php');
Voir
SetFont().
AddLink
int AddLink()
Version
1.5
Description
Crée un nouveau lien interne et renvoie son identifiant. Un lien interne est une zone cliquable qui
amène à un autre endroit dans le document.
L'identifiant pourra être transmis aux méthodes Cell(), Write(), Image() ou Link(). La destination est
définie à l'aide de SetLink().
Voir
Version
1.0
Description
Ajoute une nouvelle page au document. Si une page était en cours, la méthode Footer() est appelée
pour traiter le pied de page. Puis la page est ajoutée, la position courante mise en haut à gauche en
fonction des marges gauche et haute, et Header() est appelée pour afficher l'en-tête.
La police qui était en cours au moment de l'appel est automatiquement restaurée. Il n'est donc pas
nécessaire d'appeler à nouveau SetFont() si vous souhaitez continuer avec la même police. Même
chose pour les couleurs et l'épaisseur du trait.
L'origine du système de coordonnées est en haut à gauche et les ordonnées croissantes vont vers le
bas.
Paramètres
orientation
Orientation de la page. Les valeurs possibles sont (indépendamment de la casse) :
● P ou Portrait
● L ou Landscape
Voir
Version
1.4
Description
Définit un alias pour le nombre total de pages. Cet alias sera substitué lors de la fermeture du
document.
Paramètres
alias
L'alias. Valeur par défaut : {nb}.
Exemple
$pdf=new PDF();
$pdf->AliasNbPages();
Voir
PageNo(), Footer().
Cell
Cell(double w [, double h [, string txt [, mixed border [, int ln [,
string align [, int fill [, mixed link]]]]]]])
Version
1.0
Description
Imprime une cellule (zone rectangulaire) avec éventuellement des bords, un fond et une chaîne de
caractères. Le coin supérieur gauche de la cellule correspond à la position courante. Le texte peut être
aligné ou centré. Après l'appel, la position courante se déplace à droite ou un retour à la ligne est
effectué. Il est possible de mettre un lien sur le texte.
Si le saut de page automatique est activé et que la cellule dépasse le seuil de déclenchement, un saut
de page est effectué avant de l'imprimer.
Paramètres
w
Largeur de la cellule. Si elle vaut 0, la cellule s'étend jusqu'à la marge droite de la page
(la marge droite étant égale à la marge gauche).
h
Hauteur de la cellule. Valeur par défaut : 0.
txt
Chaîne à imprimer. Valeur par défaut : chaîne vide.
border
Indique si des bords doivent être tracés autour de la cellule. La valeur peut être soit un
nombre :
● 0 : aucun bord
● 1 : cadre
soit une chaîne contenant certains ou tous les caractères suivants (dans un ordre
quelconque) :
● L : gauche
● T : haut
● R : droit
● B : bas
● C : centrage
● R : alignement à droite
fill
Indique si le fond de la cellule doit être coloré (1) ou transparent (0). Valeur par défaut :
0.
link
URL ou identifiant retourné par AddLink().
Exemple
//Sélection de la police
$pdf->SetFont('Arial','B',16);
//Décalage de 8 cm à droite
$pdf->Cell(80);
//Texte centré dans une cellule 20*10 mm encadrée et retour à la
ligne
$pdf->Cell(20,10,'Titre',1,1,'C');
Voir
Version
1.0
Description
Cette méthode termine le document PDF. Il n'est pas nécessaire de l'appeler explicitement car
Output() le fait automatiquement.
Si le document ne contient aucune page, AddPage() est appelé pour éviter d'obtenir un document
invalide.
Voir
Open(), Output().
Error
Error(string msg)
Version
1.0
Description
Cette méthode est appelée automatiquement en cas d'erreur fatale; elle se contente d'afficher le
message et de mettre fin à l'exécution du script. Une classe dérivée peut la redéfinir afin de
personnaliser le traitement des erreurs, mais doit impérativement arrêter l'exécution du script, sinon le
fichier PDF résultant serait probablement invalide.
Paramètres
msg
Le message d'erreur.
Footer
Footer()
Version
1.0
Description
Cette méthode permet de définir le pied de page. Elle est appelée automatiquement par AddPage() et
Close() et ne devrait donc pas être appelée explicitement par l'application. L'implémentation de
Footer() dans FPDF est vide, donc vous devez dériver la classe et redéfinir la méthode si vous voulez
un traitement particulier pour vos pieds de page.
Exemple
Voir
Header().
FPDF
FPDF([string orientation [, string unit [, mixed format]]])
Version
1.0
Description
Il s'agit du constructeur de la classe. Il permet de fixer le format des pages, leur orientation par défaut
ainsi que l'unité de mesure utilisée dans toutes les méthodes (sauf pour les tailles de police).
Paramètres
orientation
Orientation des pages par défaut. Les valeurs possibles sont (indépendamment de la
casse) :
● P ou Portrait
● L ou Landscape
● mm : millimètre
● cm : centimètre
● in : pouce
Un point est égal à 1/72ème de pouce, c'est-à-dire environ 0,35 millimètre. C'est une
unité très courante en typographie; les tailles de police sont exprimées dans cette unité.
Un pouce vaut 2,54 centimètres.
● A4
● A5
● Letter
● Legal
ou bien d'un format personnalisé sous la forme d'un tableau à deux éléments contenant la
largeur et la hauteur (exprimées dans l'unité donnée par unit).
GetStringWidth
double GetStringWidth(string s)
Version
1.2
Description
Renvoie la longueur d'une chaîne en unité utilisateur. Une police doit être sélectionnée.
Paramètres
s
La chaîne dont on veut déterminer la longueur.
GetX
double GetX()
Version
1.2
Description
Voir
Version
1.0
Description
Voir
Version
1.0
Description
Cette méthode permet de définir l'en-tête de page. Elle est appelée automatiquement par AddPage() et
ne devrait donc pas être appelée explicitement par l'application. L'implémentation de Header() dans
FPDF est vide, donc vous devez dériver la classe et redéfinir la méthode si vous voulez un traitement
particulier pour vos en-têtes.
Exemple
Voir
Footer().
Image
Image(string file, double x, double y, double w [, double h [,
string type [, mixed link]]])
Version
1.1
Description
Imprime une image dans la page. Le coin supérieur gauche ainsi qu'au moins une des dimensions
doivent être spécifiés; la hauteur ou la largeur peut être calculée automatiquement afin de respecter les
proportions de l'image.
● L'alpha channel
Si une couleur transparente est définie, elle sera prise en compte (mais ne sera interprétée qu'à partir
d'Acrobat 4).
Le format peut être spécifié explicitement ou déduit de l'extension du fichier.
Il est possible de mettre un lien sur l'image.
Remarque : si une image est utilisée plusieurs fois, une seule copie sera intégrée au document.
Paramètres
file
Nom du fichier contenant l'image.
x
Abscisse du coin supérieur gauche.
y
Ordonnée du coin supérieur gauche.
w
Largeur de l'image dans la page. Si elle est nulle, elle est calculée automatiquement afin
de respecter les proportions d'origine.
h
Hauteur de l'image dans la page. Si elle n'est pas indiquée ou vaut zéro, elle est calculée
automatiquement afin de respecter les proportions d'origine.
type
Format de l'image. Les valeurs possibles sont (indépendamment de la casse) : JPG,
JPEG, PNG. S'il n'est pas précisé, le type est déduit de l'extension du fichier.
link
URL ou identifiant retourné par AddLink().
Voir
AddLink().
Line
Line(double x1, double y1, double x2, double y2)
Version
1.0
Description
Paramètres
x1
Abscisse du premier point.
y1
Ordonnée du premier point.
x2
Abscisse du second point.
y2
Ordonnée du second point.
Voir
SetLineWidth(), SetDrawColor().
Link
Link(double x, double y, double w, double h, mixed link)
Version
1.5
Description
Place un lien sur une zone rectangulaire de la page. Les liens textes ou images se posent généralement
via Cell(), Write() ou Image(), mais cette méthode peut être utile par exemple pour placer une zone
cliquable à l'intérieur d'une image.
Paramètres
x
Abscisse du coin supérieur gauche du rectangle.
y
Ordonnée du coin supérieur gauche du rectangle.
w
Largeur du rectangle.
h
Hauteur du rectangle.
link
URL ou identifiant retourné par AddLink().
Voir
Version
1.0
Description
Effectue un saut de ligne. L'abscisse courante est ramenée à la valeur de la marge gauche et l'ordonnée
augmente de la valeur indiquée en paramètre.
Paramètres
h
L'amplitude du saut de ligne.
Par défaut, la valeur est égale à la hauteur de la dernière cellule imprimée.
Voir
Cell().
MultiCell
MultiCell(double w, double h, string txt [, mixed border [, string
align [, int fill]]])
Version
1.3
Description
Cette méthode permet d'imprimer du texte avec des retours à la ligne. Ceux-ci peuvent être
automatiques (dès que le texte atteint le bord droit de la cellule) ou explicites (via le caractère \n).
Autant de cellules que nécessaire sont imprimées, les unes en dessous des autres.
Le texte peut être aligné, centré ou justifié. Le bloc de cellules peut être encadré et le fond coloré.
Paramètres
w
Largeur des cellules. Si elle vaut 0, elles s'étendent jusqu'à la marge droite de la page.
h
Hauteur des cellules.
txt
Chaîne à imprimer.
border
Indique si des bords doivent être tracés autour du bloc de cellules. La valeur peut être soit
un nombre :
● 0 : aucun bord
● 1 : cadre
soit une chaîne contenant certains ou tous les caractères suivants (dans un ordre
quelconque) :
● L : gauche
● T : haut
● R : droit
● B : bas
● C : centrage
● R : alignement à droite
fill
Indique si le fond des cellules doit être coloré (1) ou transparent (0). Valeur par défaut :
0.
Voir
Version
1.0
Description
Cette méthode commence la génération du fichier PDF; elle doit être appelée avant toute méthode
d'écriture. Aucune page n'est créée par cette méthode, aussi est-il nécessaire d'appeler AddPage().
Voir
AddPage(), Close().
Output
Output([string file [, boolean download]])
Version
1.0
Description
Sauve le document PDF dans un fichier local ou l'envoie au navigateur. Dans ce dernier cas, on peut
utiliser le plug-in (s'il est présent) ou forcer la boîte de téléchargement de fichier.
La méthode commence par appeler Close() si nécessaire pour terminer le document.
Paramètres
file
Le nom du fichier. S'il est vide ou non renseigné, le document est envoyé au navigateur
qui utilisera le plug-in s'il est installé.
download
Dans le cas où file est renseigné, indique si le fichier doit être sauvé en local (false)
où provoquer la boîte de téléchargement de fichier (true). Vaut false par défaut.
Voir
Close().
PageNo
int PageNo()
Version
1.0
Description
Voir
AliasNbPages().
Rect
Rect(double x, double y, double w, double h [, string style])
Version
1.0
Description
Dessine un rectangle à partir de son coin supérieur gauche. Il peut être tracé, rempli ou les deux à la
fois.
Paramètres
x
Abscisse du coin supérieur gauche.
y
Ordonnée du coin supérieur gauche.
w
Largeur.
h
Hauteur.
style
Manière de tracer le rectangle. Les valeurs possibles sont :
● D ou chaîne vide : contour (draw). C'est la valeur par défaut.
● F : remplissage (fill)
● DF ou FD : contour et remplissage
Voir
Version
1.2
Description
Paramètres
author
Le nom de l'auteur.
Voir
Version
1.0
Description
Active ou désactive le mode saut de page automatique. En cas d'activation, le second paramètre
représente la distance par rapport au bas de la page qui déclenche le saut. Par défaut, le mode est
activé et la marge vaut 2 cm.
Paramètres
auto
Booléen indiquant si le mode doit être activé.
margin
Distance par rapport au bas de la page.
Voir
Version
1.4
Description
Active ou désactive la compression des pages. Lorsqu'elle est activée, la représentation interne de
chaque page est compressée, ce qui donne généralement un taux de compression de l'ordre de 2 pour
le document résultant.
La compression est activée par défaut.
Note : l'extension Zlib est requise pour cette fonctionnalité. Si elle n'est pas disponible, la
compression sera désactivée.
Paramètres
compress
Booléen indiquant si la compression doit être activée.
SetCreator
SetCreator(string creator)
Version
1.2
Description
Définit le créateur du document. Il s'agit typiquement du nom de l'application qui génère le PDF.
Paramètres
creator
Le nom du créateur.
Voir
Version
1.2
Description
Contrôle la manière dont le document sera affiché par le lecteur. On peut régler le niveau de zoom :
afficher la page en entier, occuper toute la largeur de la fenêtre, utiliser la taille réelle, choisir un
facteur de zoom particulier ou encore utiliser la valeur par défaut de l'utilisateur (celle paramétrée
dans le menu Préférences d'Acrobat). On peut également spécifier la disposition des pages : une seule
à la fois, affichage continu, pages sur deux colonnes ou réglage par défaut.
Par défaut, les documents sont en mode pleine largeur avec affichage continu.
Paramètres
zoom
Le zoom à utiliser. Il peut prendre l'une des valeurs chaînes suivantes :
● fullpage : affiche entièrement les pages à l'écran
Version
1.3
Description
Fixe la couleur pour toutes les opérations de tracé (lignes, rectangles et contours 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.
Paramètres
r
Si g et b sont renseignés, composante de rouge; sinon, indique le niveau de gris. Valeur
comprise entre 0 et 255.
g
Composante de vert (entre 0 et 255).
b
Composante de bleu (entre 0 et 255).
Voir
Version
1.3
Description
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.
Paramètres
r
Si g et b sont renseignés, composante de rouge; sinon, indique le niveau de gris. Valeur
comprise entre 0 et 255.
g
Composante de vert (entre 0 et 255).
b
Composante de bleu (entre 0 et 255).
Voir
Version
1.0
Description
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.
La police peut être soit une police standard, soit une police ajoutée à l'aide de la méthode AddFont().
Les polices standard utilisent l'encodage Windows cp1252 (Europe de l'ouest).
La méthode peut être appelée avant que la première page ne soit créée et la police est conservée de
page en page.
Si vous souhaitez juste changer la taille courante, il est plus simple d'appeler SetFontSize().
Note : pour les polices standard, il est nécessaire que les fichiers de métrique soient accessibles. Il y a
trois possibilités pour cela :
define('FPDF_FONTPATH','/home/www/font/');
require('fpdf.php');
Si le fichier correspondant à la police demandée n'est pas trouvé, l'erreur "Could not include font
metric file" est générée.
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 :
● Courier (caractères de largeur fixe)
● Symbol (symboles)
● ZapfDingbats (symboles)
● B : gras
● I : italique
● 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.
Exemple
//Times normal 12
$pdf->SetFont('Times');
//Arial gras 14
$pdf->SetFont('Arial','B',14);
//Enlève le gras
$pdf->SetFont('');
//Times gras, italique et souligné 14
$pdf->SetFont('Times','BIU');
Voir
Version
1.0
Description
Paramètres
size
La taille (en points).
Voir
SetFont().
SetKeywords
SetKeywords(string keywords)
Version
1.2
Description
Associe des mot-clés au document, généralement sous la forme 'mot-clé1 mot-clé2 ...'.
Paramètres
keywords
La liste de mots-clés.
Voir
Version
1.4
Description
Fixe la marge gauche. La méthode peut être appelée avant de créer la première page.
Si l'abscisse courante se retrouve hors marge, elle est ramenée à la marge.
Paramètres
margin
La marge.
Voir
Version
1.0
Description
Fixe l'épaisseur des traits. La valeur est par défaut égale à 0,2 mm. 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.
Paramètres
width
L'épaisseur.
Voir
Version
1.5
Description
Paramètres
link
Identifiant du lien retourné par AddLink().
y
Ordonnée de la position; -1 indique la position courante. La valeur par défaut est 0 (haut
de la page).
page
Numéro de la page; -1 indique la page courante. C'est la valeur par défaut.
Voir
AddLink().
SetMargins
SetMargins(double left, double top [, double right])
Version
1.0
Description
Fixe les marges gauche, haute et droite. Par défaut, elles valent 1 cm. Appelez cette méthode si vous
désirez toutes les changer.
Paramètres
left
Marge gauche.
top
Marge haute.
right
Marge droite. Par défaut, est égale à la gauche.
Voir
Version
1.5
Description
Fixe la marge droite. La méthode peut être appelée avant de créer la première page.
Paramètres
margin
La marge.
Voir
Version
1.2
Description
Paramètres
subject
L'intitulé du sujet.
Voir
Version
1.3
Description
Fixe la couleur pour le texte. 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.
Paramètres
r
Si g et b sont renseignés, composante de rouge; sinon, indique le niveau de gris. Valeur
comprise entre 0 et 255.
g
Composante de vert (entre 0 et 255).
b
Composante de bleu (entre 0 et 255).
Voir
Version
1.2
Description
Paramètres
title
Le titre.
Voir
Version
1.5
Description
Fixe la marge haute. La méthode peut être appelée avant de créer la première page.
Paramètres
margin
La marge.
Voir
Version
1.2
Description
Fixe l'abscisse de la position courante. Si la valeur transmise est négative, elle est relative à l'extrémité
droite de la page.
Paramètres
x
La valeur de l'abscisse.
Voir
Version
1.2
Description
Fixe l'abscisse et l'ordonnée de la position courante. Si les valeurs transmises sont négatives, elles sont
relatives respectivement aux extrémités droite et basse de la page.
Paramètres
x
La valeur de l'abscisse.
y
La valeur de l'ordonnée.
Voir
SetX(), SetY().
SetY
SetY(double y)
Version
1.0
Description
Ramène l'abscisse courante à la marge gauche et fixe l'ordonnée. Si la valeur transmise est négative,
elle est relative au bas de la page.
Paramètres
y
La valeur de l'ordonnée.
Voir
Version
1.0
Description
Imprime une chaîne de caractères. L'origine est à gauche du premier caractère, sur la ligne de base.
Cette méthode permet de positionner précisément une chaîne dans la page, mais il est plus simple
d'utiliser Cell() qui est la méthode standard pour imprimer du texte.
Paramètres
x
Abscisse de l'origine.
y
Ordonnée de l'origine.
txt
Chaîne à imprimer.
Voir
Version
1.5
Description
Cette méthode imprime du texte à partir de la position courante. Lorsque la marge droite est atteinte
(ou que le caractère \n est rencontré), un saut de ligne est effectué et le texte continue à partir de la
marge gauche. Au retour de la méthode, la position courante est située juste à la fin du texte.
Il est possible de mettre un lien sur le texte.
Paramètres
h
Hauteur de la ligne.
txt
Chaîne à imprimer.
link
URL ou identifiant retourné par AddLink().
Exemple
Voir