✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak przekonwertować HTML na PDF w PHP

298

PDF (Portable Document Format) to format pliku, który obejmuje formatowanie tekstu i obrazy w stałym układzie. Plik PDF jest niezależny od oprogramowania, sprzętu i systemu operacyjnego. Oznacza to, że możesz używać tego samego pliku PDF w dowolnym systemie operacyjnym.

Pracując nad aplikacjami PHP, czasami chcemy stworzyć PDF z HTML. Może to być faktura, instrukcja instalacji, życiorys itp. Aby była dynamiczna, musimy w locie generować PDF za pomocą HTML.

W tym artykule pokażę, jak przekonwertować HTML na PDF w PHP za pomocą biblioteki Dompdf.

Dompdf to biblioteka konwertująca HTML na PDF o otwartym kodzie źródłowym. Używając Dompdf, możesz łatwo tworzyć PDF z surowego HTML lub używając pliku HTML.

Pierwsze kroki

Aby rozpocząć, musisz najpierw zainstalować bibliotekę Dompdf w swojej aplikacji. Do instalacji biblioteki polecam używać Composera.

Otwórz terminal w katalogu głównym projektu i uruchom polecenie:

composer require dompdf/dompdf

Po zainstalowaniu biblioteki możesz dołączyć środowisko Dompdf do swojego projektu, korzystając z poniższego kodu.

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

Konwertuj HTML na PDF w PHP

Kod wymagany do wygenerowania PDF jest prosty i bezpośredni. Jako przykład załóżmy, że masz surowy kod HTML, który powinien zostać przekonwertowany w formacie PDF. Utwórz index.phpplik i dodaj napisz kod w następujący sposób.

<?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();

Tutaj przekazujemy surowy kod HTML do metody loadHtml(). Po uruchomieniu tego pliku wygeneruje on PDF i wyrenderuje w przeglądarce.

Możemy również nadać nazwę plikowi PDF, który ma zostać pobrany.

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

Dowiedziałeś się o generowaniu PDF z surowego HTML. Zobaczmy teraz, jak utworzyć plik PDF za pomocą pliku HTML.

Są na to 2 sposoby. W pierwszy sposób pobieramy treść z pliku HTML i przekazujemy ją do loadHtml()metody. Innym sposobem jest użycie loadHtmlFile()funkcji i przekazanie jej ścieżki do pliku HTML.

Zobaczmy oba sposoby jeden po drugim.

Pierwsza metoda

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

Druga metoda

W tej metodzie powinieneś najpierw ustawić 'chroot’ katalogu, w którym znajduje się twój plik HTML. Jeśli twój plik HTML znajduje się w katalogu głównym, użyj bezpośrednio tej getcwd()metody. Powinieneś dostosować ścieżkę zgodnie ze swoimi wymaganiami.

$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();

Zapisz wygenerowany plik PDF

Wszystkie powyższe kody, które napisaliśmy, wyrenderują wygenerowany plik PDF w przeglądarce. Jeśli ktoś chce zapisać wygenerowany plik PDF na dysku, użyj kodu w następujący sposób:

$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);

Wszystko sprowadza się do konwersji HTML na PDF przy użyciu biblioteki Dompdf. Chciałbym usłyszeć wasze przemyślenia i sugestie w sekcji komentarzy poniżej.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów