Kuinka muuntaa HTML-tiedosto PDF-muotoon PHP: ssä
PDF (Portable Document Format) on tiedostomuoto, joka sisältää tekstin muotoilun ja kuvat kiinteässä asettelussa. PDF on riippumaton sovellusohjelmistoista, laitteistoista ja käyttöjärjestelmistä. Tämä tarkoittaa, että voit käyttää samaa PDF-tiedostoa missä tahansa käyttöjärjestelmässä.
PHP-sovellusten parissa haluamme joskus luoda PDF-tiedostoja HTML-tiedostoista. Se voi olla lasku, asennusopas, jatkaminen jne. Jotta voisimme tehdä siitä dynaamisen, meidän on luotava PDF HTML: n avulla lennossa.
Tässä artikkelissa näytän, kuinka HTML voidaan muuntaa PDF-muotoon PHP: ssä Dompdf-kirjaston avulla.
Dompdf on avoimen lähdekoodin HTML to PDF Converter -kirjasto. Dompdf: n avulla voit helposti luoda PDF-tiedoston raakasta HTML-tiedostosta tai HTML-tiedostosta.
Päästä alkuun
Aloittamiseksi sinun on ensin asennettava Dompdf-kirjasto sovellukseesi. Suosittelen kirjaston asentamiseen Composerin käyttöä.
Avaa pääte projektin juurihakemistossa ja suorita komento:
composer require dompdf/dompdf
Kun olet asentanut kirjaston, voit sisällyttää Dompdf-ympäristön projektiisi alla olevan koodin avulla.
<?php
require_once "vendor/autoload.php";
use DompdfDompdf;
Muunna HTML-tiedosto PDF-muotoon PHP: ssä
PDF: n luomiseen vaadittava koodi on yksinkertainen ja selkeä. Oletetaan esimerkiksi, että sinulla on raaka HTML, joka tulisi muuntaa PDF-muodossa. Luo index.php
tiedosto ja lisää kirjoita koodi seuraavasti.
<?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();
Tässä välitämme menetelmälle raakaa HTML-koodia loadHtml()
. Kun suoritamme tämän tiedoston, se luo PDF-tiedoston ja tekee sen selaimessa.
Voimme myös antaa nimen ladattavalle PDF-tiedostolle.
$dompdf->stream('test.pdf');
Opit PDF: n luomisesta raakasta HTML: stä. Katsotaan nyt, kuinka luoda PDF-tiedosto HTML-tiedostolla.
Sille on kaksi tapaa. Ensimmäisellä tavalla saamme sisällön HTML-tiedostosta ja välitämme sen loadHtml()
menetelmälle. Toinen tapa on käyttää loadHtmlFile()
funktiota ja siirtää HTML-tiedoston polku siihen.
Katsotaanpa molemmat tavat yksi kerrallaan.
Ensimmäinen menetelmä
$html = file_get_contents('test.html');
$dompdf->loadHtml($html);
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
Toinen menetelmä
Tässä menetelmässä sinun on ensin asetettava hakemiston ‘chroot’, jossa HTML-tiedostosi sijaitsee. Jos HTML-tiedostosi on juurihakemistossa, käytä getcwd()
menetelmää suoraan. Sinun tulisi säätää polkua vaatimuksesi mukaan.
$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();
Tallenna luotu PDF-tiedosto
Kaikki yllä olevat koodit, jotka olemme kirjoittaneet, tekevät luodun PDF: n selaimessa. Jos joku haluaa tallentaa luodun PDF-levyn, käytä koodia seuraavasti:
$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);
Kyse on HTML: n muuntamisesta PDF-muotoon Dompdf-kirjaston avulla. Haluaisin kuulla ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.