Converting HTML to PDF using PHP?

140,694

If you wish to create a pdf from php, pdflib will help you (as some others suggested).

Else, if you want to convert an HTML page to PDF via PHP, you'll find a little trouble outta here.. For 3 years I've been trying to do it as best as I can.

So, the options I know are:

DOMPDF : php class that wraps the html and builds the pdf. Works good, customizable (if you know php), based on pdflib, if I remember right it takes even some CSS. Bad news: slow when the html is big or complex.

HTML2PS: same as DOMPDF, but this one converts first to a .ps (ghostscript) file, then, to whatever format you need (pdf, jpg, png). For me is little better than dompdf, but has the same speed problem.. but, better compatibility with CSS.

Those two are php classes, but if you can install some software on the server, and access it throught passthru() or system(), give a look to these too:

wkhtmltopdf: based on webkit (safari's wrapper), is really fast and powerful.. seems like this is the best one (atm) for converting html pages to pdf on the fly; taking only 2 seconds for a 3 page xHTML document with CSS2. It is a recent project, anyway, the google.code page is often updated.

htmldoc : This one is a tank, it never really stops/crashes.. the project looks dead since 2007, but anyway if you don't need CSS compatibility this can be nice for you.

Share:
140,694
gregory boero.teyssier
Author by

gregory boero.teyssier

https://ali.actor

Updated on August 31, 2020

Comments

  • gregory boero.teyssier
    gregory boero.teyssier almost 4 years

    Possible Duplicate:
    Convert HTML + CSS to PDF with PHP?

    Is it possible to convert a HTML page to PDF using PHP, and if so, how can it be done?

    Specifically, the page is an invoice generated dynamically. So I would like it loaded using:

    http://example.com/invoices/3333
    

    And the HTML output would have to be converted to PDF.

    Any good libraries that do this will be fine.

  • gregory boero.teyssier
    gregory boero.teyssier about 15 years
    Daniel, which one is the best for CSS then? WkHTMLToPdf?
  • Strae
    Strae about 15 years
    Yes, actually. we are triyn to use firefox too (with a command line addon by torisugary), becose, you know, nothing will take css better then a browser. wkhtmltopdf run on safari, so actually is the best, imho. I hope that mozilla will do something like it with gecko soon
  • gregory boero.teyssier
    gregory boero.teyssier about 15 years
    Dan, can you call wkhtml through php? It seems like it needs to be called using shell manually
  • Strae
    Strae about 15 years
    Sure, passthru() should work. something like passthru('wkhtmltopdf_version.sh yourhtmlpage.html yourpdf.pdf' $return); would work well if php and apache permissions settings allow that. Tried on a windows machine, works good.
  • Strae
    Strae about 15 years
    Oh, sorry i forget a thing: for unix-like systems there is actual a problem with the display of wkhtml - give a look at here if is your case: code.google.com/p/wkhtmltopdf/issues/detail?id=3 otherise on windows system, you'll need to compile it under apache maybe (depends on your settings)
  • Andrew Ensley
    Andrew Ensley almost 12 years
    wkhtmltopdf has worked the best and with the least setup steps in my experience.
  • Ahesanali Suthar
    Ahesanali Suthar about 8 years
    Wkhtmltopdf is awesome and can convert exact html+css to pdf
  • s3c
    s3c over 3 years
    But they all fail with flexbox and grid, amirite?