Génération de rapports PDF en PHP : aperçu des bibliothèques et outils

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Génération de rapports PDF en PHP : aperçu des bibliothèques et outils



La création de documents PDF est l'une des tâches courantes en développement web avec PHP. Qu'il s'agisse de générer des factures, des rapports, des certificats ou simplement d'exporter des données dans un format prêt à imprimer, PHP propose plusieurs solutions matures. Dans cet article, nous examinerons quatre bibliothèques principales : TCPDF, FPDF, Dompdf et mPDF. Vous découvrirez leurs caractéristiques, leurs points forts et obtiendrez des exemples de code pour chacune.



1. FPDF — un classique léger et rapide



FPDF est sans doute la bibliothèque la plus connue pour générer des PDF en PHP. Elle ne nécessite aucune extension externe, fonctionne « prête à l'emploi » et se distingue par sa grande vitesse. Son principal inconvénient est le support limité des styles CSS complexes et du HTML.



Exemple de création d'un rapport PDF simple avec un tableau :



<?phprequire_once('fpdf.php');

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'Rapport de ventes');$pdf->Ln(20);

$pdf->SetFont('Arial', '', 12);// En-têtes du tableau$pdf->Cell(60, 7, 'Produit', 1);$pdf->Cell(30, 7, 'Quantité', 1);$pdf->Cell(40, 7, 'Prix', 1);$pdf->Ln();

// Données$items = [ ['Ordinateur portable', 5, 45000], ['Souris', 10, 1200], ['Clavier', 7, 2500]];

foreach ($items as $item) { $pdf->Cell(60, 7, $item[0], 1); $pdf->Cell(30, 7, $item[1], 1); $pdf->Cell(40, 7, $item[2] . ' roubles', 1); $pdf->Ln();}

$pdf->Output();?>


Quand l'utiliser : pour des rapports simples où une mise en page complexe n'est pas nécessaire, mais où la vitesse et la taille réduite du fichier sont importantes.



2. TCPDF — un outil puissant pour les PDF complexes



TCPDF est un fork de FPDF avec des fonctionnalités étendues. Il prend en charge Unicode, JPEG2000, les codes QR, SVG, ainsi que le travail avec HTML et CSS (de manière limitée). La bibliothèque est activement développée et utilisée dans des systèmes comme Drupal et Moodle.



Exemple de génération d'un rapport utilisant le balisage HTML :



<?phprequire_once('tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->SetCreator(PDF_CREATOR);$pdf->SetAuthor('Votre entreprise');$pdf->SetTitle('Rapport mensuel');

$pdf->AddPage();$html = '<h2>Rapport mensuel</h2><table border="1" cellpadding="5"> <tr style="background-color:#cccccc;"> <th>Indicateur</th><th>Valeur</th> </tr> <tr> <td>Chiffre d'affaires</td><td>1 200 000 roubles</td> </tr> <tr> <td>Dépenses</td><td>850 000 roubles</td> </tr> <tr> <td>Bénéfice</td><td><strong>350 000 roubles</strong></td> </tr></table><p>Date de génération : ' . date('d.m.Y') . '</p>';

$pdf->writeHTML($html, true, false, true, false, '');$pdf->Output('report.pdf', 'I');?>


Quand l'utiliser : pour des documents complexes avec des tableaux, des images, des polices non standard et la prise en charge du cyrillique.



3. Dompdf — transformer le HTML en PDF



Dompdf est une bibliothèque qui rend une page HTML en PDF. Elle prend en charge CSS2.1 et partiellement CSS3, ce qui permet de créer des rapports en utilisant une mise en page familière. Idéale pour convertir des modèles HTML existants.



Exemple de création d'un rapport à partir d'un modèle HTML :



<?phprequire_once 'dompdf/autoload.inc.php';use Dompdf\\Dompdf;

$dompdf = new

Recommendations