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


how to convert HTML + CSS to PDF with PHP?

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

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

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

DOMPDF:
它的桌子有很大的问题。我考虑了我的大嵌套表,这很有帮助(之前它只消耗了128M的内存,然后就死了——这是我在php.ini中的内存限制),但它把表弄得一团糟,似乎无法获得图像。这些表格只是一些基本的东西,有一些边框样式,可以在不同的点添加一些线条。

HTML2PDF和HTML2PS:
事实上,我在这方面运气更好。它渲染了一些图像(所有图像都是谷歌图表URL),表格格式也要好得多,但它似乎有一些复杂的问题,我还没有弄清楚,并且一直死于未知的node_type()错误。不知道从这里去哪里。

Htmldoc:
这似乎在基本的HTML上工作得很好,但几乎不支持CSS,所以你必须用HTML做所有的事情(我没有意识到它在Htmldoc领域还是2001年…),所以它对我来说没用。

我尝试了一个名为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