Phantomjs now supports pdf output:
http://we-love-php.blogspot.fi/2012/12/create-pdf-invoices-with-html5-and-phantomjs.html
The problem with various libraries (PDFlib, FPDF etc.) is the rather long learning curve. PhantomJS uses html5+css3+svg+canvas, which have a long history and large user space and php people know html+css usually very well, so the learning curve with PhantomJS is short.
PhantomJS has nothing to do with PHP, but if you have rather new server, it is very easy to install and use. The downside is that Centos5 is not supported, but fortunately Centos6 is.
PhantomJS uses true browser engine (Webkit) for page rendering, so the result should be better than with various html2pdf libraries and support for new techniques (html5+css3+svg+canvas) is better. Support for svg opens new possibilities, that are before achieved only with the most advanced pdf generation libraries (eg. pdflib) and when PhantomJS starts to support eg. SVG filters fully, then the sky is limit.