网页用PHP截图?

时间:2009-03-26 17:51:11

标签: php unix command-line screenshot

我知道没有直接的方法来使用PHP拍摄网页的屏幕截图。实现这一目标最直接的方法是什么?是否有任何可以执行此操作的命令行工具,我可以从PHP脚本执行(我正在考虑可以在'NIX OS(特别是OS X和/或Linux)中运行的东西?

编辑:或者我可以通过SOAP或REST或......来访问某种Web服务。

编辑#2:我找到了一个讨论CLI选项的related question,但是如果有人知道的话,我仍然会对其他方法持开放态度。

6 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

html2ps为相对简单的页面做了不错的工作,它在外部二进制文件方面要求很少,这意味着它很容易安装/使用。如果你控制你将捕获的页面,那么你可以确保它们将在html2ps中正确呈现。但是,如果您希望捕获任意URL,我不确定HTML2PS的PHP端口是否可以胜任该任务。它也不是世界上最快的东西(预计复杂页面的渲染时间在几秒钟内),但这对某些应用程序来说并不重要。

答案 2 :(得分:1)

请参阅webkit2png了解执行此操作的OSX命令行程序。

该页面还提到了Linux替代方案。

[编辑]:wkhtml2image是镇上最新的孩子,它比我用过的任何其他东西都更好。

[edit2]:截至2014年,PhantomJS似乎还有很长的路要走,因为它拥有我所知道的最新的webkit版本。

答案 3 :(得分:0)

不确定这对你来说是否足够,因为它有一些补充内容,但值得尝试一下:http://www.snap.com

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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