Convertir HTML en PDF en PHP avec Dompdf

PDF est un format de fichier créé par Adobe Systems pour illustrer du texte et des images dans un document à mise en page fixe. PDF est utilisé pour télécharger le tas de données ou de contenu texte dans l’application Web. Le format de fichier PDF est le choix idéal pour télécharger le contenu texte ou HTML d’un fichier. Au moment du téléchargement du contenu de la page Web sous forme de fichier PDF, il faut convertir HTML en PDF. Dans ce tutoriel, nous allons vous montrer comment convertir du HTML en PDF et générer un fichier PDF en utilisant PHP.

Dompdf est une bibliothèque PHP qui fournit un moyen simple de convertir du HTML en document PDF. En utilisant la bibliothèque Dompdf, vous pouvez facilement générer des PDF à partir de la page HTML en PHP. L’exemple de code vous aidera à implémenter la fonctionnalité de génération de PDF dans l’application Web et facilitera la conversion de HTML en PDF en PHP avec Dompdf.

Installation et configuration de Dompdf

Téléchargez la version stable de dompdf depuis GitHub. Extrayez la version d’archive dompdf téléchargée et placez-la dans le répertoire où vous souhaitez utiliser Dompdf.

Notez que: Vous n’avez pas besoin de télécharger la bibliothèque Dompdf séparément, tous les fichiers requis sont inclus dans notre package de code source.

Instanciez la classe Dompdf

Pour utiliser la classe Dompdf, vous devez inclure le chargeur automatique dans le script PHP. Utilisez le code PHP suivant pour instancier et utiliser la classe dompdf.

// Include autoloader 
require_once 'dompdf/autoload.inc.php';
// Reference the Dompdf namespace
use Dompdf\Dompdf;
// Instantiate and use the dompdf class
$dompdf = new Dompdf();

Utilisation de base (Convertir HTML en PDF)

L’exemple suivant montre comment utiliser Dompdf pour convertir HTML et générer des PDF avec une configuration minimale.

  • Spécifiez le contenu HTML dans la méthode loadHtml() de la classe Dompdf.
  • Rend le HTML au format PDF à l’aide de la méthode render().
  • Affiche le PDF généré dans le navigateur à l’aide de la méthode stream().
// Load HTML content 
$dompdf->loadHtml('<h1>Welcome to CodexWorld.com</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();

Utilisation avancée

Avec la bibliothèque Dompdf, vous pouvez facilement améliorer les fonctionnalités de la création de PDF. Le code suivant génère un fichier PDF à partir d’un fichier HTML (pdf-content.html).

  • Récupère le contenu du fichier HTML en utilisant la fonction file_get_contents() en PHP.
  • Charge du contenu HTML à l’aide de la méthode loadHtml() de la classe Dompdf.
  • Contrôlez la sortie PDF à l’aide de la fonction stream() de la classe Dompdf.
  • $filename – ( string) Nom du fichier PDF.
  • $options – ( options d’en-tête).
  • Attachment – 1 = télécharger et 0 = aperçu
// Load content from html file 
$html = file_get_contents("pdf-content.html");
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF (1 = download and 0 = preview)
$dompdf->stream("codexworld", array("Attachment" => 0));

Méthodes utiles Dompdf

La bibliothèque Dompdf fournit diverses méthodes et options pour configurer la création de PDF. Certaines des méthodes utiles de la classe Dompdf sont données ci-dessous qui sont couramment utilisées pour intégrer des fonctionnalités HTML à PDF.

loadHtml() : Charge le contenu HTML.

  • $ str (chaîne) – Obligatoire. Spécifiez HTML à charger.
  • encodingencodage (chaîne) – Facultatif. Spécifiez l’encodage.

loadHtmlFile(): Charge le contenu d’un fichier HTML.

  • $ fichier (chaîne) – Obligatoire. Spécifiez le nom de fichier ou l’URL à charger.

output(): Renvoie le PDF sous forme de chaîne.

  • $ options (tableau) – Facultatif. Spécifiez si la compression du flux de contenu sera activée. (compresse=> 1 ou 0)

render() : Rend le HTML au format PDF.

setBasePath() : Définit le chemin de base pour inclure des feuilles de style et des images externes.

  • $ Chemin de base (chaîne) – Le chemin de base à utiliser lors du chargement des URL de ressources externes.

setPaper() : Définit l’orientation du format de papier &.

  • $ taille (chaîne|tableau) – ‘lettre’, ‘légal’, ‘A4’, etc.
  • orientationorientation (chaîne) – ‘portrait’ ou ‘paysage’.

stream() : Transmet le PDF au client.

  • $ filename (string) – Spécifie le nom du fichier à diffuser (sans .extension pdf).
  • optionsoptions (tableau) –
    • ‘compress’ = > 1 ou 0 – activer la compression du flux de contenu.
    • ‘Pièce jointe’ = > 1= téléchargement ou 0= aperçu

Conclusion

Dans ce tutoriel, nous avons essayé de fournir un moyen facile de convertir du HTML en PDF avec Dompdf en utilisant PHP. Notre exemple de code montre l’option de configuration la plus utilisée pour générer des PDF en PHP. Vous pouvez facilement étendre la fonctionnalité en utilisant les options de configuration Dompdf selon vos besoins. Pour obtenir tous les fichiers requis, y compris la bibliothèque Dompdf, téléchargez le code source.

Voulez-vous obtenir de l’aide pour l’implémentation, ou modifier ou améliorer les fonctionnalités de ce script ? Soumettre une demande de service payant

Si vous avez des questions sur ce script, soumettez-le à notre communauté QA – Posez la question

Write a Comment

Votre adresse e-mail ne sera pas publiée.