个人而言,我更倾向于选择TCPDF,这是FPDF的增强和维护版本。
从mpdf网站: "mPDF是一个基于UTF-8编码的HTML生成PDF文件的PHP类。它基于FPDF和HTML2FPDF,具有许多增强功能。"
mpdf在语言处理和UTF-8支持方面优于FPDF。对于CJK支持,它不仅支持字体嵌入,还支持字体子集化(使您的CJK PDF不会过大)。 TCPDF和FPDF在UTF-8和字体支持方面都无法与mpdf相比。自版本5.0起,它甚至带有一些开源字体。
这只是对比fPDF与tcPDF在基本功能上的性能表现的快速回顾。
fPDF使用17.0366秒处理2000个PDF文件|| tcPDF使用79.5982秒处理2000个PDF文件
fPDF 788 || tcPDF 1,860
所使用的代码尽可能相同,并生成一个没有文本的干净PDF文件。这也使用了截至2011年6月22日的每个库的最新版本。
我发现在html渲染方面,mpdf比tcpdf更好。 它可以更好地解析css样式,并创建看起来非常类似于原始html的pdf。
mpdf甚至支持如圆角边框和渐变等css属性。
当涉及到html转pdf时,我很惊讶为什么人们很少谈论mpdf。
请在这里查看示例http://www.mpdf1.com/mpdf/index.php?page=Examples
我发现它对设计发票、收据和简单打印等很有用。 然而,该网站本身表示,从mpdf生成的pdf文件大小会更大。
http://sourceforge.net/projects/html2ps/是最好的选择,如果您需要CSS和3C兼容性。
如果您可以在服务器上安装软件,我建议您使用http://wkhtmltopdf.org/。
还有一个使用wkhtmltopdf的Drupal模块 :)
PHP占用很多资源来将HTML转换为PDF,我认为PHP不是做这件事情的正确语言(如果您期望进行大量的转换或者转换大文件)。
我个人使用PHP生成XSL:FO,并使用Apache FOP将其转换为PDF。虽然不是PHP本地解决方案,效率也不是很高,但即使需要生成非常复杂的布局,它仍然可以很好地工作。