我知道没有直接的方法来使用PHP拍摄网页的屏幕截图。实现这一目标最直接的方法是什么?是否有任何可以执行此操作的命令行工具,我可以从PHP脚本执行(我正在考虑可以在'NIX OS(特别是OS X和/或Linux)中运行的东西?
编辑:或者我可以通过SOAP或REST或......来访问某种Web服务。
编辑#2:我找到了一个讨论CLI选项的related question,但是如果有人知道的话,我仍然会对其他方法持开放态度。
答案 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编码图像。 您可以指定桌面或移动视图,但仅限于特定大小的图像。