Formation : Librairie FPDF 1
Sommaire I. Introduction page 3 a. Le FPDF page 3 b. Installation page 3 II. Texte seulement page 4 a. La méthode Text page 4 b. La méthode Write page 5 c. La méthode Cell page 6 d. La méthode MultiCell page 7 III. Image seulement page 9 IV. Sommaire et numéro de page page 11 2
I. Introduction a. Le FPDF Le FPDF est une classe PHP qui permet de créer des documents PDF à l aide du PHP. Que signifie FPDF? Free Portable Document Format Les fonctionnalités principales de FPDF -Gestion du format de page et des marges -Gestion en-têtes et pieds de page -Saut de page automatique -Saut de ligne automatique et justification -Image (en format JPEG et PNG seulement) -Couleur -Liens -Support des polices -Compression des pages b. Installation Aller chercher le dossier Site_Formation dans le répertoire commun et le mettre dans C:\wamp\www\ Rentrer dans le dossier Site_Formation et dans le fichier site.php faite clic droit et éditer le avec notepad ++ Puis faite que le fichier soit comme ci-dessous : <html> <head><title>librairie FPDF</title></head> <body> <h1><center>librairie FPDF</h1></center> <p align="center"><a href="./exemple/methode_text.php">voir Test de Méthode Text</a><br/><br/> </body> </html> 3
II. Texte seulement a. La méthode Text Maintenant aller dans le dossier Exemple et dans le fichier methode_text.php Ajouter ce code : <?php include("../phptopdf.php"); $PDF = new phptopdf(); $PDF->SetFont("Arial","B",16); $PDF->Text(40,10,"Uniquement un texte"); $PDF->Output();?> A quoi sa sert? Cette méthode permet de positionner précisément une chaîne dans la page. AddPage: ajoute une page dans le document; SetFont: détermine la font utilisée (B pour Bold); Text(float x, float y, string txt): Dans l'exemple ci-dessus, Text écrit "Uniquement un texte" en position (40, 10); Output: permet d'afficher le document généré dans le navigateur. Lancer wampserver puis aller dans le localhost rentré dans le dossier Site_Formation et lancer le site avec le fichier site.php Puis cliquer sur le lien Voir Test de Méthode Text 4
b. La méthode Write Aller dans le dossier du site pour modifier a nouveau le fichier site.php pour ajouter une ligne et que le fichier donne ceci : <html> <head><title>librairie FPDF</title></head> <body> <h1><center>librairie FPDF</h1></center> <p align="center"><a href="./exemple/methode_text.php">voir Test de Méthode Text</a><br/><br/> <p align="center"><a href="./exemple/methode_write.php">voir Test de Méthode Write</a><br/><br/> </body> </html> Retourner dans le dossier Exemple et dans le fichier methode_write.php Ajouter ce code : <?php include("../phptopdf.php"); $PDF=new phptopdf(); $PDF->SetFont('Arial','B',16); $PDF->Write(10, "Ceci est un texte multilignes \net voici la deuxième ligne"); $PDF->Output();?> A quoi sa sert? Cette méthode imprime du texte à partir de la position courante. Write(float h, string txt [, mixed link]) Dans l'exemple ci-dessus, Write écrit le texte "Ceci est un texte multi lignes \net voici la deuxième ligne" avec un saut de ligne de 10 mm. Retourner sur le Site Puis cliquer sur le lien Voir Test de Méthode Text 5
c. La méthode Cell Aller dans le dossier du site pour modifier à nouveau le fichier site.php pour ajouter une ligne et que le fichier donne ceci : <html> <head><title>librairie FPDF</title></head> <body> <h1><center>librairie FPDF</h1></center> <p align="center"><a href="./exemple/methode_text.php">voir Test de Méthode Text</a><br/><br/> <p align="center"><a href="./exemple/methode_write.php">voir Test de Méthode Write</a><br/><br/> <p align="center"><a href="./exemple/methode_cell.php">voir Test de Méthode Cell</a><br/><br/> </body> </html> Retourner dans le dossier Exemple et dans le fichier methode_cell.php Ajouter ce code : <?php include("../phptopdf.php"); $PDF = new phptopdf(); //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'); $PDF->Output();?> A quoi sa sert? 6
Imprime une cellule avec éventuellement des bords, un fond et une chaîne de caractères. Cell(80); écrit une cellule vide sans bord de 80 mm de large à partir de l'endroit où l'on se trouve, c'est-à-dire par défaut, en position (margeleft, margetop). Les marges ont la valeur 10 mm par défaut, pour les changer, utiliser SetMargins(); L'appel setxy(10, 90); aurait été similaire; Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, int fill [, mixed link]]]]]]]) Dans l'exemple ci-dessus, Cell écrit une cellule de taille (20,10), contenant le texte 'Titre', avec un bord, retour à la ligne et centré. Retourner sur le Site Puis cliquer sur le lien Voir Test de Méthode Cell d. La méthode MultiCell Aller dans le dossier du site pour modifier à nouveau le fichier site.php pour ajouter une ligne et que le fichier donne ceci : <html> <head><title>librairie FPDF</title></head> <body> <h1><center>librairie FPDF</h1></center> <p align="center"><a href="./exemple/methode_text.php">voir Test de Méthode Text</a><br/><br/> <p align="center"><a href="./exemple/methode_write.php">voir Test de Méthode Write</a><br/><br/> <p align="center"><a href="./exemple/methode_cell.php">voir Test de Méthode Cell</a><br/><br/> <p align="center"><a href="./exemple/methode_multicell.php">voir Test de Méthode MultiCell</a><br/><br/> </body> </html> Retourner dans le dossier Exemple et dans le fichier methode_multicell.php Ajouter ce code : <?php include("../phptopdf.php"); 7
$PDF = new phptopdf(); //Sélection de la police $PDF->SetFont('Arial','B',16); $PDF->MultiCell(0, 10, "Ceci est un texte multilignes centré avec un bord\net voici la deuxième ligne", 1, "C", 0); $PDF->Output();?> A quoi sa sert? Cette méthode permet d'imprimer du texte avec des retours à la ligne. MultiCell(float w, float h, string txt [, mixed border [, string align [, int fill]]]); Dans l'exemple ci-dessus, MultiCell écrit une cellule de taille (0, 10), contenant le texte entre guillemets, avec un bord, centré et sans remplissage de la cellule. Retourner sur le Site Puis cliquer sur le lien Voir Test de Méthode MultiCell 8
III. Image seulement Aller dans le dossier du site pour modifier à nouveau le fichier site.php pour ajouter une ligne et que le fichier donne ceci : <html> <head><title>librairie FPDF</title></head> <body> <h1><center>librairie FPDF</h1></center> <p align="center"><a href="./exemple/methode_text.php">voir Test de Méthode Text</a><br/><br/> <p align="center"><a href="./exemple/methode_write.php">voir Test de Méthode Write</a><br/><br/> <p align="center"><a href="./exemple/methode_cell.php">voir Test de Méthode Cell</a><br/><br/> <p align="center"><a href="./exemple/methode_multicell.php">voir Test de Méthode MultiCell</a><br/><br/> <p align="center"><a href="./exemple/image.php">voir Test d'image</a><br/><br/> </body> </html> Retourner dans le dossier Exemple et dans le fichier image.php Ajouter ce code : <?php include("../phptopdf.php"); $PDF=new phptopdf(); $PDF->SetFont('Arial','B',16); $PDF->Image('image.jpg',20, 20); $PDF->Output();?> A quoi sa sert? Cette méthode place une image dans la page. Image(string file, float x, float y [, float w [, float h [, string type [, mixed link]]]]) Dans l'exemple ci-dessus, Image met l'image "./images/kitlogo.jpg" en position (50, 100) 9
Retourner sur le Site Puis cliquer sur le lien Voir Test d Image 10
IV. Sommaire et numéro de page Aller dans le dossier du site pour modifier a nouveau le fichier site.php pour ajouter une ligne et que le fichier donne ceci : <html> <head><title>librairie FPDF</title></head> <body> <h1><center>librairie FPDF</h1></center> <p align="center"><a href="./exemple/methode_text.php">voir Test de Méthode Text</a><br/><br/> <p align="center"><a href="./exemple/methode_write.php">voir Test de Méthode Write</a><br/><br/> <p align="center"><a href="./exemple/methode_cell.php">voir Test de Méthode Cell</a><br/><br/> <p align="center"><a href="./exemple/methode_multicell.php">voir Test de Méthode MultiCell</a><br/><br/> <p align="center"><a href="./exemple/image.php">voir Test d'image</a><br/><br/> <p align="center"><a href="./exemple/sommaire_numpage.php">voir Test Sommaire et numéros de page</a><br/><br/> </body> </html> Retourner dans le dossier Exemple et dans le fichier sommaire_numpage.php Ajouter ce code : <?php include("../phptopdf.php"); $PDF=new phptopdf(); $PDF->SetFont('Times','',12); $PDF->Cell(0,5,'Page de garde',0,1,'c'); // A partir de cette page, la numérotation commence... $PDF->startPageNums(); $PDF->Cell(0,5,'TOC1',0,1,'L'); // On ajoute un item au sommaire $PDF->TOC_Entry('TOC1', 0); 11
$PDF->Cell(0,5,'TOC1.1',0,1,'L'); // On ajoute un item au sommaire $PDF->TOC_Entry('TOC1.1', 1); $PDF->Cell(0,5,'TOC2',0,1,'L'); // On ajoute un item au sommaire $PDF->TOC_Entry('TOC2', 0); for($i=3;$i<=80;$i++){ $PDF->Cell(0,5,'TOC'.$i,0,1,'L'); } // On ajoute un item au sommaire $PDF->TOC_Entry('TOC'.$i, 0); // On arrête ici la numérotation $PDF->stopPageNums(); $PDF->Cell(0,5,'Page non numérotée',0,1,'l'); //Génère et insère le sommaire en page 2 $PDF->insertTOC(2); $PDF->Output();?> A quoi sa sert? Cette méthode place un sommaire et des numéros de page. startpagenums() Cette méthode commence la numérotation des pages à partir de la page courante; TOC_Entry('titre', 0); Cette méthode ajoute l'entrée 'titre' au sommaire; stoppagenums() Cette méthode termine la numérotation sur la page courante; inserttoc(2) Cette méthode génère le sommaire en page 2 du document. Retourner sur le Site Puis cliquer sur le lien Voir Test de sommaire_numpage 12