如何在PHP中创建网页图像?

时间:2011-05-03 17:17:10

标签: php html save render

如何在PHP中渲染和保存网页作为图像,宽度可能为600px。如何在不使用浏览器的情况下在PHP中呈现页面?如何以给定的分辨率和图像格式(jpeg)保存?该功能类似于Google预览,但它不会在翻转中显示。

与此问题类似,在C#中回答。 How to save a web page as image

谢谢!

2 个答案:

答案 0 :(得分:7)

你应该得到wkhtmltoimage,这在PHP中非常容易使用:

exec("../wkhtmltoimage --crop-w 600 http://example.com/ output.png");

还有其他选项,而不是--crop-w--width 600,最好在之后使用GD或imagemagick缩小缩放

答案 1 :(得分:2)

你不能在纯PHP中这样做,你总是需要一个外部渲染器来获得好的结果。

您最好的选择是使用browsershots.org API之类的外部服务,这样您就不会在服务器上产生额外负载。

如果您有资源可以刻录,您可以使用另一种方法(仍然在您的服务器上运行,而不是PHP),如mario's answer中所述,称为wkhtmltoimage。请记住,这不会被推荐(事实上,可能甚至不可能)在共享主机上。

相关问题