✅ 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

288

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