Generování PDF

V některých případech se může hodit obsah webové stránky exportovat do PDF. Jde to zajistit na:

  • straně klienta (v prohlížeči pomocí JavaScriptu),
  • serveru (například v PHP)

Je převod do PDF potřeba?

Dost často je ale PDF používané poměrně zbytečně, takže je dobré se nejprve zamyslet, jestli export do PDF vůbec dává smysl.

V případě, že je cílem připravit dokument pro tisk stránky, jde k tomu použít přímo HTML, případně ho lehce upravit pomocí CSS.

Pro například odesílání faktur e-mailem jde zase použít odkaz vedoucí na webovou stránku, kde se vše potřebné zobrazí. Většina lidí stejně ke své práci potřebuje připojení k internetu, takže možnost offline zobrazení nemusí být zase tak významná.

K uložení obsahu pro offline čtení nakonec může posloužit i HTML soubor.

Vytvoření PDF v JavaScriptu

Převést HTML stránku do PDF v JavaScriptu umí nástroj jsPDF (vyžaduje jQuery):

  • jsPDF – hotový nástroj pro generování PDF v JS (GitHub)

Ten umožňuje i export celého HTML elementu/stránky, bohužel to ale nefunguje s českou diakritikou.

Generování PDF v PHP

V PHP existuje řada hotových nástrojů:

Často je problém se zobrazování české diakritiky, za které může buď písmo, co češtinu neumí, nebo konkrétní nástroj. Zprovoznit češtinu se mi nakonec podařilo s nástrojem mPDF.

Použití mPDF je poměrně jednoduché, stačí předat HTML kód, který se má převést do PDF:

include("../mpdf.php");
$mpdf=new mPDF(); 
$mpdf->WriteHTML($html);
$mpdf->Output();

Odkazy jinam

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Offline webová stránka

Offline webová stránka

Jak umožnit návštěvníkům stažení celé webové stránky pro prohlížení offline, umístění na CD apod.

Zjištění barvy obrázku

Zjištění barvy obrázku

Jak v JavaScriptu i PHP zjistit hlavní barvu obrázku.

Automatické generování obsahu

Automatické generování obsahu stránky

Automatické generování obsahu HTML stránky v JavaScriptu i PHP.

Výpis náhodného obsahu

Výpis náhodného textu

Jak na stránce náhodně vypsat obrázek, odkaz, reklamu, text nebo cokoliv jiného.

Skloňování

České skloňování

Jak v JS, PHP nebo CSS správně vytvořit skloňování slov pro české prostředí.

Komentáře