网页截图与PHP?

我知道没有一个直接的方式来使用PHP的网页的屏幕截图。 什么是最直接的方法来完成这个? 有没有任何命令行工具可以做到这一点,我可以从一个PHP脚本执行(我想在NIX操作系统(特别是OS X和/或Linux)中运行的东西?

编辑:或者,也许某种Web服务,我可以访问通过SOAP或REST或…

编辑#2:我发现了一个讨论CLI选项的相关问题 ,但是如果有人知道任何东西,我仍然会对其他方法开放。

请参阅webkit2png以获取执行此操作的OSX命令行程序。

该页面还提到了Linux的替代品。

wkhtml2image是城里最新的孩子,它的效果比以前任何其他的都好。

[编辑]截至2014年, PhantomJS似乎是要走的路,因为它拥有我所了解的最新的webkit版本。

html2ps对于相对简单的页面来说是一份体面的工作,而且对于外部的二进制文件来说,它的需求非常少,这意味着安装/使用起来非常简单。 如果你控制了你要捕捉的页面,那么你可以确保它们将在html2ps中正确渲染。 但是,如果您希望捕获任意的URL,我不确定HTML2PS的PHP端口是否可以胜任。 这也不是世界上最快的事情(期望复杂页面的秒数),但对于某些应用程序来说并不重要。

不知道这对你是否足够,因为它有一些额外的东西,但值得一试: http : //www.snap.com

您可以使用GD函数imagegrabscreen()imagegrabwindow()来截取屏幕截图,但目前只能在Windows上使用。

通过使用Google pagespeed api,可以获取网站的base64编码图像。 您可以指定桌面或移动视图,但限制为特定大小的图像。