Generování PDF z PHP - export stránek do PDF

2. 12 2009 | 21.41

pdf_newNedávno jsem řešil možnost uložení (vygenerování) obsahu stránky do PDF. Nejdřív jsem si řikal, že by to nemuselo být zas tak složitý, bude to něco na způsob tisknutí, jen se tam bude muset nějak nastavit to ukládání do PDF, ale to jsem se pěkně zmýlil.

Zpočátku jsem byl nasměrován na html2pdf, ale postupně jsem se v tom čím dál více ztrácel. Nepomohla ani dokumentace. Až když jsem začal využívat generátoru, přičemž jsem si kontroloval, co je jako výchozí nastaveno a co může být nastaveno, jsem se do toho začal dostávat. Ale šlo to velmi pomalu a nebyl to moc efektivní přístup.

Rozhodl jsem se, že se podívám na jiné možnosti. Na několik jsem jich narazil, ale až díky blogu Zdeňka Večeři (který to měl zase od Davida Grudla :D), jsem našel úžasnou PHP třídu jménem mPDF. To byla pro mě spása.

MPDF je úžasná PHP třída pro snadný export stránek do PDF pomocí jazyka PHP. Stačí když se podíváte na nějaký příklad a hned si ji "zamilujete." Pomocí objektu jednoduše nastavíte potřebné vlastnosti jako třeba kódování, název stránky, autora nebo třeba i vodoznak a zabezpečení. A pak už si jen hrajete s html kódem.

Má taky pár much

Jen dva problémy jsem s mPDF měl. Týká se CSS stylů a zalámování. Některé CSS styly mPDF nepodporuje a u některých, i když má napsáno, že je podporuje, tak mě se je nepodařilo rozběhnout. Například se mi nepodařilo zprovoznit obtékání dvou prvků v buňce v tabulce. Takže jsem si musel hrál s nastavenim stylů a ozkoušet jak to vyřešit. 

Další problém byl s již zmíněným zalámováním. Texty jsem měl v tabulce a pokud se řádek nevešel na jednu stránku, nezalomil se, ale celý se vložil na stránku následující. To byl docela problém, protože spousta prázdného místa a pak text na další stránce nevypadá moc pěkně. Problém se mi vyřešit nepodařilo, ale alespoň se přeskupily texty, takže výsledek vypadá pěkně.

Jinak je ale mPDF skvělá možnost jak jednoduše vygenerovat PDF. Všem velmi doporučujidoporucuji

pdfmPDF v odkazech

Další možnosti exportu do PDF