Kuidas teisendada HTML-i PDF-i PHP-s
PDF (Portable Document Format) on failivorming, mis sisaldab teksti vormindamist ja pilte fikseeritud paigutusega. PDF-fail on sõltumatu rakendustarkvarast, riistvarast ja operatsioonisüsteemist. See tähendab, et saate sama PDF-faili kasutada mis tahes operatsioonisüsteemis.
PHP-rakenduste kallal töötades soovime mõnikord HTML-ist PDF-i luua. See võib olla arve, installijuhend, jätkamine jne. Selle dünaamiliseks muutmiseks peame HTML-i abil hõlpsasti HTML-i looma.
Selles artiklis näitan teile, kuidas HTML-i teisendada PHP-s PDF-i kasutades Dompdf-i teeki.
Dompdf on avatud lähtekoodiga HTML-muundurite kogu. Dompdf-i abil saate hõlpsasti luua toorest HTML-ist või HTML-failist PDF-i.
Alustamine
Alustamiseks peate kõigepealt oma rakendusse installima Dompdf’i teegi. Teegi installimiseks soovitan kasutada Composerit.
Avage terminal oma projekti juurkataloogis ja käivitage käsk:
composer require dompdf/dompdf
Pärast teegi installimist saate alloleva koodi abil oma projekti kaasata Dompdf-keskkonna.
<?php
require_once "vendor/autoload.php";
use DompdfDompdf;
HTML-i teisendamine PDF-failiks PHP-s
PDF-i genereerimiseks vajalik kood on lihtne ja sirgjooneline. Oletame näiteks, et teil on toores HTML, mis tuleks teisendada PDF-vormingus. Looge index.php
fail ja lisage kirjutage kood järgmiselt.
<?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();
Siinkohal edastame meetodile toore HTML-i loadHtml()
. Selle faili käivitamisel genereerib see PDF-faili ja renderdatakse brauseris.
Samuti võime anda nime allalaaditavale PDF-ile.
$dompdf->stream('test.pdf');
Saite teada PDF-i loomisest toorest HTML-ist. Vaatame nüüd, kuidas HTML-faili abil PDF-faili luua.
Selleks on kaks võimalust. Esimesel viisil saame sisu HTML-failist ja edastame selle loadHtml()
meetodile. Teine võimalus on loadHtmlFile()
funktsiooni kasutamine ja HTML-faili tee edastamine sellele.
Vaatame mõlemat viisi ükshaaval.
Esimene meetod
$html = file_get_contents('test.html');
$dompdf->loadHtml($html);
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
Teine meetod
Selles meetodis peaksite kõigepealt määrama kataloogi "chroot", kus teie HTML-fail asub. Kui teie HTML-fail asub juurkataloogis, kasutage getcwd()
meetodit otse. Te peaksite kohandama teed vastavalt oma nõuetele.
$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();
Salvestage loodud PDF-fail
Kõik ülaltoodud meie kirjutatud koodid renderdavad loodud brauseris PDF-i. Kui keegi soovib genereeritud PDF-i kettale salvestada, kasutage koodi järgmiselt:
$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);
See kõik puudutab HTML-i teisendamist PDF-failiks Dompdf-teegi abil. Tahaksin kuulda teie mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.