Les applications / site WEB ont très souvent besoin de générer de tels fichiers.
Il existe de nombreuses API qui permettent à partir d'une page PHP de générer un fichier PDF.
Celle qui nous intéresse dans cet article est FPDF.
L'intégration de cette API dans votre application est simple : copier le répertoire<FPDF> téléchargé dans votre projet.
En résumé :
- Initialisation de notre document PDF dans votre page PHP
// nouveau document
$pdf = new FPDF();
// ajouter une page à votre document
$pdf->AddPage();
- Ajoutons un entête à notre document
// insertion d'une image => attention uniquement des JPEG
$pdf->Image('images/mon_image.jpg',10,10);
// utilisation police Arial en Bold et 10 points de corps
$pdf->SetFont('Arial','B',10);
// on se positionne à partir du top de page : 5 en ordonnée Y => on travaille en ordonnées non en pixels !
$pdf->SetY(5);
// une ligne en format A4 fait 180 mm : on peut ainsi découper la ligne en "cellules" comme sous EXCEL
// dans cet exemple le titre (corps 13 points) est centré à droite avec une bordure (Left, Top, right)
$pdf->Cell(180,13,"Mon titre","LTR",0,"C");
Nous partons du <Top> du document vers le <Bottom>.
- Ajoutons le corps du document
...
// insertion d'un saut de ligne : dans notre exemple la taille du saut de ligne est de 4 en ordonnée
$pdf->Ln(4);
// dans cet exemple on affiche deux textes différents sur la même ligne
$pdf->SetFont('Arial','',10);
$pdf->Cell(90,10,"mon texte 1 ",0,0,"C");
$pdf->SetFont('Arial','B',10);
$pdf->Cell(90,10,"mon texte 2",0,0,"C");
$pdf->Ln(5);
....
A noter : nous pouvons soit nous positionner en ordonnée Y (fonction SetY), soit effectuer des sauts de ligne (les sauts de ligne sont toujours effectués à partir de la position Y courante).
Vous pouvez dans votre document ajouter un pied de page sur le même principe.
- Générer le document PDF
$pdf->Output("mon_doc.pdf",'F');
Le fichier est généré sur votre serveur.
Cette API permet de couvrir la plupart des besoins, même de générer des documents assez complexes.
Le document est vierge, à vous de gérer l'entête, le corps et le pied de page.
Aucun commentaire:
Enregistrer un commentaire