mPDF: Snadný export HTML stránek do PDF

by Zdeněk Večeřa 7 Comments

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');


Comments ( 7 )

  1. Hrach
    A David zase vděčí Honzovi Kuchařovi: http://forum.nettephp.com/cs/1495-pdf-dokumentace-manual-a-quick-start-stazeni#p10606
  2. Honza Kuchař
    :-)
  3. Kart
    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
  4. JeDi
    Nefunguje protože tam má být $mpdf=new mPDF('utf-8-s');
  5. honza
    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);
  6. a
    Pozor na licenci, můžete narazit!
  7. Peter
    Mno tak mě pomohlo až todlenctoto http://mpdf1.com/manual/index.php?tid=126&searchstring=UTF-8

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>