如何用PHP将HTML + CSS转换为PDF?

how to convert HTML + CSS to PDF with PHP?

好吧,我现在用这个把头撞在砖墙上。

我有一个HTML(而不是XHTML)文档,在Firefox3和IE7中呈现良好效果。它使用相当基本的CSS来设置样式,并在HTML中呈现良好的效果。

我现在正在寻找一种将其转换为PDF的方法。我已经尝试过:

DOMPDF:桌子有很大的问题。我计算出了我的大型嵌套表,它很有帮助(在它消耗掉高达128m的内存之后就消失了——这是我在php.in i中对内存的限制),但它使表变得一团糟,似乎无法获取图像。这些表格只是一些基本的东西,有一些边框样式可以在不同的点上添加一些线条。

HTML2PDF和HTML2PS:我真的很幸运。它呈现了一些图像(所有的图像都是谷歌图表的URL),表格格式要好得多,但它似乎有一些复杂的问题,我还没有弄清楚,并且一直在死于未知的node_type()错误。不知道从这里到哪里。

Htmldoc:这在基本的HTML上似乎很好,但几乎不支持CSS,所以你必须用HTML做所有的事情(我没有意识到它仍然是2001年在HTMLDoc Land…)所以它对我没用。

我尝试了一个名为html2pdf pilot的Windows应用程序,它实际上做了一个相当不错的工作,但我需要的是在Linux上运行最少的程序,最好是在Web服务器上通过php按需运行。

我真的不敢相信我被卡住了。我错过什么了吗?


根据我的经验,对于PHP,最好的答案是wkhtmltopdf。不幸的是,它是基于命令行的,但是有一些选项可以将调用包装在类中。例如:php wkhtmltopdf,网址:http://mikehaertl.github.io/phpwkhtmltopdf/


如果你想在飞行中做到这一点,你可以使用mpdf,它工作得很好,如果你在网页上显示的话,它可以使用css甚至javascript。http://www.mpdf1.com/mpdf/index.php