Formát PDF si získává svou popularitu už více než 20 let, a to hlavně díky zachování stejného vzhedu a formátování na různych systémech a zařízeních. V IT světě se s ním můžeme setkat při statických prezentacích, emailových přílohách nebo například při generování faktur.
Poslední zmíněné použití se řeší ve většině webových aplikací, zejmána pak eshopech, kde je třeba z užívatelských dat vygenerovat faktury s určitým vzhledem a obsahem. Technicky řečeno transformovat HTML kód na PDF dokument. Tuto transformaci zajišťují PHP knihovny, kterých je na trhu ale velké množství. V článku si představíme vybranou knihovnu, kterou u nás používáme v některých webových projektech a je možné ji volně stáhnout z internetu. Dále si ukážeme, jak ji nainstalovat a jak s ní pracovat.
Řeč je o knihovně mPDF, která patří mezi ty známější a hojně používané. Založena je na starších knihovnách FPDF a HTML2FPDF s řadou vylepšení.
Knihovna mPDF
Jak už jsme zmínili výše, hlavní funkcí této PHP knihovny je konverze HTML kódu spolu s CSS styly do PDF dokumentu. Oproti například HTML2FPDF je pomalejší a vytváří větší soubory, ale na druhou stranu má větší podporu pro CSS styly a větší množství užitečných funkcí, což je také důvod, proč ji upřednostňujeme. S mPDF je možné vytvořit bohaté PDF dokumenty s hlavičkou a patičkou včetně fotografií, ochranou heslem, vodoznaky, číslováním stránek, atd. Dalším podstatný argumentem, proč upřednostnit tuto knihovnu před ostatními, je, že je aktualizovaná a podoruje i nejnovější verze PHP.
V příkladu můžete vidět po inicializaci knihovny ještě tři další příkazy. První vytvoří nový objekt knihovny, který se vytváří vždy před prací s knihovnou. Druhý příkaz požaduje HTML kód, který bude představovat obsah našeho PDF dokumentu. Třetí příkaz nabídne uživateli stažitelné PDF, případně ho přímo otevře v prohlížeči.
Složitější použití
Dokumentace k mPDF popisuje dostupné HTML tagy pro konverzi, takže víme, že by neměl být problém s běžnými tagy jako jsou například div, tabulky, hlavičky, různé seznamy nebo text. Programátoři mají rádi, když je HTML kód a CSS design v odlišných souborech. Tento princip není potřeba rušit, právě naopak, je možné jej plně využít v mPDF.
Představme si, že máme všechny styly v "stylesheet.css" a chceme je zahrnout do PDF. Použijeme stejnou funkci WriteHTML() jako v prvním příkladě, avšak přidáme do ní další parametr. Tento druhý parametr bude říkat, jak bude obsah prvního parametru brán. Například pokud zadáme číslo 1, znamená to, že prvním parametrem je CSS skript. Číslem 2 definujeme, že vkládáme pouze HTML kód. Pro 0, která je i defaultní, říkáme, že do funkce vkládáme HTML dokument obsahující kromě HTML kódu i CSS skripty.
V příkladu si ukážeme přidání CSS souboru do PDF a hned nato jeho doplnění o jednoduchý HTML kód.
Pokud je třeba definovat specifičtější parametry jako kódování textu nebo formát strany, přidáváme je do konstruktoru knihovny, tj. do příkazu $mpdf = new \Mpdf\Mpdf() , například:
Nám se práce s mPDF při vývoji webů a e-shopů velmi osvědčila a doporučujeme ji používat. Jelikož ale podobných knihoven existuje víc, je jen na vás, kterou si vyberete a naučíte se ji používat. Mezi další známé knihovny s touto funkcí patří např. WkHtmlToPdf, HTML2PDF, TCPDF nebo dompdf.
Kontrolní otázka, co jsou cookies? Vyberte správnou odpověď.
Cookies nejsou sušenky, ale textové soubory
Chceme mít přehled, jak to na našem webu žije. Vy ale máte ve své moci, kolik se toho o vaší zdejší návštěvě dozvíme.
Jako vývojáře webů a aplikací nás zajímají analytická data, budeme proto vděční za váš souhlas.
Nastavení cookies
Vyberte vámi preferované povolení cookie, přičemž základní jsou nezbytné pro fungování, jiné můžeme používat jen s vaším souhlasem.
Vaše osobní údaje budou zpracovány a informace z vašeho zařízení (soubory cookie, jidinečné identifikátory a další údaje zařízená) mohou být uchovávány.
Svůj názor můžete vždy změnit a souhlas odvolat pomocí odkazu v patičce tohoto webu. Pro více informací o používání cookies prosím naštivte tuto stránku.