mPDF: Snadný export HTML stránek do PDF
FDFDoposud jsem neznal nějaký snadný a efektivní způsob exportu HTML stránek do PDF formátu, za pomocí PHP. Ano, existuje PHP třída FPDF, ale něco v ní vytvořit mi zrovna jako efektivní nepřijde. Viz kus kódu. Pokud byste FPDF přece jen použili, mrkněte k Zaachimu na blog. Radí tam, jak na české znaky.
Nad touto třídou existuje nástavba, troufám si říct “naštěstí”. Jmenuje se mPDF a nabízí přímý export z HTML stránek do PDF za podpory UTF-8 kódování, tedy s bezproblémovou interpretací českých znaků.
mPFD nabízí pohodlný export HTML do PDF
Třída mPDF je postavena nejen na FPDF, ale využívá i HTML2FPDF a UFPDF. Výsledkem je efektivní způsob, jak převést HTML stránku do PDF. Když jsem to poprvé viděl, napadlo mě: “To vypadá zatraceně dobře!”.
Co mPDF umí?
- UTF-8 encoded HTML
- Almost all languages including RTL (arabic and hebrew), and CJK – (chinese-japanese-korean)
- Bookmarks
- CSS stylesheets
- Word spacing and character spacing for justification
- Nested block-level elements (e.g. P, DIV) including margins, borders, padding, line-height, background colours etc.
- Page layout and orientation
- Page numbering
- Odd and even paging with mirrored margins
- Page headers & footers
- Columns
- Tables – nested tables, rotated, or autosized to fit on a page
- Text-justification and hyphenation
- Table of contents
- Index
- Images as JPG GIF PNG WMF
- Watermarks
- Password protection
Stručně: UTF-8, podpora DIV a p, stránkování, tabulky, CSS styly, ochrana souboru heslem a obrázky. Podívejte se na dokumentaci a příklady. Doporučuji! Za tip díky Davidu Grudlovi.
České znaky v PDF
Aby vám správně fungovala čeština, musíte vytvořit objekt s UTF-8 parametrem, takto:
$mpdf = new mPDF('utf-8');
May 10th, 2009 at 20:49
A David zase vděčí Honzovi Kuchařovi:
http://forum.nettephp.com/cs/1495-pdf-dokumentace-manual-a-quick-start-stazeni#p10606
February 25th, 2010 at 15:22
:-)
May 29th, 2010 at 01:28
Cestina mi nefunguje, kdyz ve writeHTML zadam prarametr s cestinou, dycky hodi chybu: mPDF error: HTML contains invalid UTF-8 character(s), a to i s pouzitim $mpdf = new mPDF(‘utf-8′);
need help, dik
August 2nd, 2010 at 11:56
Nefunguje protože tam má být
$mpdf=new mPDF(‘utf-8-s’);
September 7th, 2010 at 15:42
Mně se stále zobrazují divné znaky místo českých. Bohužel nefunguje ani zadání:
$mpdf=new mPDF(‘utf-8-s’);
Netušítě někdo, prosím, jak na to?
Jinak chyby: mPDF error: HTML contains invalid UTF-8 character(s) jsem se zbavil tak, že na výstup nejprve použiji funkci utf8_encode
$vstup = utf8_encode($puvodniVstup);
August 11th, 2011 at 12:44
Pozor na licenci, můžete narazit!