Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment convertir du HTML en PDF en PHP

915

PDF (Portable Document Format) est un format de fichier qui inclut le formatage du texte et des images dans une mise en page fixe. Le PDF est indépendant du logiciel d’application, du matériel et du système d’exploitation. Cela signifie que vous pouvez utiliser le même PDF sur n’importe quel système d’exploitation.

Lorsque nous travaillons sur des applications PHP, nous souhaitons parfois créer des PDF à partir de HTML. Il peut s’agir d’une facture, d’un guide d’installation, d’un curriculum vitae, etc. Afin de le rendre dynamique, nous devons générer un PDF en utilisant HTML à la volée.

Dans cet article, je vous montre comment convertir du HTML en PDF en PHP à l’aide de la bibliothèque Dompdf.

Dompdf est une bibliothèque de conversion HTML en PDF open source. En utilisant Dompdf, vous pouvez facilement créer un PDF à partir de HTML brut ou en utilisant un fichier HTML.

Commencer

Pour commencer, vous devez d’abord installer la bibliothèque Dompdf sur votre application. Je recommande d’utiliser Composer pour l’installation de la bibliothèque.

Ouvrez le terminal dans le répertoire racine de votre projet et exécutez la commande :

composer require dompdf/dompdf

Après avoir installé une bibliothèque, vous pouvez inclure l’environnement Dompdf à votre projet en utilisant le code ci-dessous.

<?php
require_once "vendor/autoload.php";
  
use DompdfDompdf;

Convertir HTML en PDF en PHP

Le code requis pour générer un PDF est simple et direct. Par exemple, disons que vous avez un HTML brut qui doit être converti en PDF. Créez un index.phpfichier et ajoutez écrivez le code comme suit.

<?php
require_once "vendor/autoload.php";
  
use DompdfDompdf;
 
// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml('<h1>hello world</h1>');
  
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
  
// Render the HTML as PDF
$dompdf->render();
  
// Output the generated PDF to Browser
$dompdf->stream();

Ici, nous passons un code HTML brut à la méthode loadHtml(). Lorsque nous exécutons ce fichier, il générera un PDF et le rendra sur un navigateur.

On peut aussi donner un nom au PDF qui va se télécharger.

$dompdf->stream('test.pdf');

Vous avez appris à générer des PDF à partir de HTML brut. Voyons maintenant comment créer un PDF à l’aide d’un fichier HTML.

Il y a 2 façons pour cela. Dans un premier temps, nous récupérons le contenu du fichier HTML et le transmettons à la loadHtml()méthode. Une autre façon consiste à utiliser la loadHtmlFile()fonction et à lui transmettre le chemin du fichier HTML.

Voyons les deux manières une par une.

Première méthode

$html = file_get_contents('test.html');
$dompdf->loadHtml($html);
 
// Render the HTML as PDF
$dompdf->render();
 
// Output the generated PDF to Browser
$dompdf->stream();

Deuxième méthode

Dans cette méthode, vous devez d’abord définir le ‘chroot’ du répertoire où se trouve votre fichier HTML. Si votre fichier HTML se trouve dans le répertoire racine, utilisez directement la getcwd()méthode. Vous devez ajuster le chemin selon vos besoins.

$dompdf->set_option('chroot', getcwd()); //assuming HTML file is in the root folder
$dompdf->loadHtmlFile('test.html');
 
// Render the HTML as PDF
$dompdf->render();
 
// Output the generated PDF to Browser
$dompdf->stream();

Enregistrez le fichier PDF généré

Tous les codes ci-dessus que nous avons écrits rendront le PDF généré dans un navigateur. Si quelqu’un souhaite enregistrer le PDF généré sur un disque, utilisez le code comme suit :

$dompdf->set_option('chroot', getcwd()); //assuming HTML file is in the root folder
$dompdf->loadHtmlFile('test.html');
 
// Render the HTML as PDF
$dompdf->render();
 
//Save to disk
$output = $dompdf->output();
file_put_contents("test.pdf", $output);

Il s’agit de convertir du HTML en PDF à l’aide de la bibliothèque Dompdf. J’aimerais entendre vos pensées et suggestions dans la section des commentaires ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails