Génération de PDF en PHP : bibliothèques, outils et exemples de code

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 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. PHP propose plusieurs bibliothèques matures qui permettent de générer des PDF à partir de HTML, de données dynamiques ou directement via le dessin. Dans cet article, nous examinerons quatre bibliothèques principales : TCPDF, FPDF, Dompdf et mPDF, leurs caractéristiques, des exemples d'utilisation et des recommandations pour le choix sur un site éducatif.



1. TCPDF — le standard industriel



TCPDF est l'une des bibliothèques les plus puissantes pour la génération de PDF en PHP. Elle prend en charge Unicode, les polices TrueType, OpenType, la protection par mot de passe, les filigranes, les codes QR et bien plus encore. Idéale pour créer des rapports complexes, des factures, des certificats.



Installation : via Composer : composer require tecnickcom/tcpdf



Exemple de création d'un PDF simple :



<?phprequire_once __DIR__ . '/vendor/autoload.php';

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetCreator('PythonLib.ru');$pdf->SetAuthor('Auteur');$pdf->SetTitle('Exemple TCPDF');$pdf->SetSubject('Génération PDF');

$pdf->AddPage();$pdf->SetFont('dejavusans', '', 14);$pdf->Cell(0, 10, 'Bonjour le monde ! Ceci est un PDF depuis TCPDF.', 0, 1);

$pdf->Output('example_tcpdf.pdf', 'I');?>


2. FPDF — léger et rapide



FPDF est une bibliothèque classique pour les documents PDF simples. Elle ne nécessite pas l'installation d'extensions supplémentaires et est très simple à apprendre. Convient pour créer des tableaux, des rapports simples, des factures.



Installation : télécharger depuis fpdf.org ou via Composer : composer require setasign/fpdf



Exemple avec un tableau :



<?phprequire_once __DIR__ . '/vendor/autoload.php';

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 12);

// En-têtes du tableau$pdf->Cell(40, 10, 'Prénom', 1);$pdf->Cell(40, 10, 'Nom', 1);$pdf->Cell(40, 10, 'Âge', 1);$pdf->Ln();

$pdf->SetFont('Arial', '', 10);$pdf->Cell(40, 10, 'Ivan', 1);$pdf->Cell(40, 10, 'Petrov', 1);$pdf->Cell(40, 10, '25', 1);

$pdf->Output('example_fpdf.pdf', 'I');?>


3. Dompdf — du HTML au PDF



Dompdf permet de convertir du HTML+CSS en PDF. C'est pratique si vous avez déjà une mise en page de pages (par exemple, une facture ou un article). Il prend en charge CSS 2.1 et partiellement CSS 3, les polices, les images.



Installation : composer require dompdf/dompdf



Exemple de conversion HTML :



<?phprequire_once __DIR__ . '/vendor/autoload.php';

use Dompdf\\Dompdf;

$dompdf = new Dompdf();$html = '<h1 style="color: #3498db;">Titre du PDF</h1><p>Ce document a été créé à partir de HTML avec Dompdf.</p><table border="1" cellpadding="5"> <tr><th>Colonne 1</th><th>Colonne 2</th></tr> <tr><td>Données 1</td><td>Données 2</td></tr></table>';

$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('example_dompdf.pdf', ['Attachment' => 0]);?>


4. mPDF — puissant convertisseur HTML



mPDF est une autre bibliothèque pour la conversion de HTML en PDF. Elle prend mieux en charge CSS, Unicode, les polices orientales, la création de tables des matières, d'en-têtes et de pieds de page que Dompdf. Idéale pour les livres, les magazines, les documents complexes.



Installation : composer require mpdf/mpdf



Exemple avec en-têtes et pieds de page :



<?                    

Recommendations