Come convertire HTML in PDF in PHP
PDF (Portable Document Format) è un formato di file che include la formattazione del testo e le immagini in un layout fisso. Il PDF è indipendente dal software applicativo, dall’hardware e dal sistema operativo. Ciò significa che puoi utilizzare lo stesso PDF su qualsiasi sistema operativo.
Mentre lavoriamo su applicazioni PHP, a volte vogliamo creare PDF da HTML. Può essere una fattura, una guida all’installazione, un curriculum, ecc. Per renderlo dinamico, dobbiamo generare al volo PDF utilizzando HTML.
In questo articolo, ti mostro come convertire HTML in PDF in PHP utilizzando la libreria Dompdf.
Dompdf è una libreria di conversione da HTML a PDF open source. Usando Dompdf, puoi facilmente creare PDF da HTML non elaborato o utilizzando file HTML.
Iniziare
Per iniziare, devi prima installare la libreria Dompdf nella tua applicazione. Consiglio di utilizzare Composer per l’installazione della libreria.
Apri il terminale nella directory principale del tuo progetto ed esegui il comando:
composer require dompdf/dompdf
Dopo aver installato una libreria, puoi includere l’ambiente Dompdf nel tuo progetto utilizzando il codice seguente.
<?php
require_once "vendor/autoload.php";
use DompdfDompdf;
Converti HTML in PDF in PHP
Il codice richiesto per generare PDF è semplice e diretto. Ad esempio, supponiamo che tu abbia un HTML non elaborato che dovrebbe essere convertito in PDF. Crea un index.php
file e aggiungi scrivi il codice come segue.
<?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();
Qui, stiamo passando un HTML grezzo al metodo loadHtml()
. Quando eseguiamo questo file, genererà PDF e verrà visualizzato su un browser.
Possiamo anche dare un nome al PDF che sta per scaricare.
$dompdf->stream('test.pdf');
Hai imparato a generare PDF da HTML non elaborato. Ora, vediamo come creare PDF utilizzando il file HTML.
Ci sono 2 modi per farlo. Nel primo modo, otteniamo il contenuto dal file HTML e lo passiamo al loadHtml()
metodo. Un altro modo è usare la loadHtmlFile()
funzione e passargli il percorso del file HTML.
Vediamo entrambi i modi uno per uno.
Primo metodo
$html = file_get_contents('test.html');
$dompdf->loadHtml($html);
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
Secondo metodo
In questo metodo, dovresti prima impostare il ‘chroot’ della directory in cui si trova il tuo file HTML. Se il tuo file HTML si trova nella directory principale, usa direttamente il getcwd()
metodo. Dovresti regolare il percorso secondo le tue esigenze.
$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();
Salva il file PDF generato
Tutti i codici sopra che abbiamo scritto renderanno il PDF generato in un browser. Se qualcuno vuole salvare il PDF generato su un disco, usa il codice come segue:
$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);
Si tratta di convertire HTML in PDF utilizzando la libreria Dompdf. Mi piacerebbe sentire i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.
articoli Correlati
- Utilizzo di Google reCAPTCHA sui moduli del tuo sito Web con PHP
- Carica file su Amazon S3 utilizzando AWS PHP SDK
- Carica l’immagine usando la libreria antiproiettile in PHP