如何使用PHP截取网页截图?

时间:2016-11-20 16:08:00

标签: php html web screenshot

我需要截取一些网页的截图,并使用php将它们保存在一个文件夹中。

我想使用php脚本执行此操作,是否有一种方法可以在网站完全加载后呈现这些网页并截取特定区域的屏幕截图? - 我正在使用Windows。

我尝试使用wkhtmltoimage,但它需要低质量的屏幕截图,并且它在整个页面加载之前都会截取屏幕截图,因此网页的某些图片没有出现在屏幕截图中,有没有办法使用php执行此操作?

请帮助php专家。谢谢

2 个答案:

答案 0 :(得分:1)

PHP在服务器端运行,因此为了能够截取屏幕,你需要一些东西来呈现HTML(类似浏览器的脚本)并生成它的图像。这个脚本也会这样做(wkhtmltoimage):

html2ps的: http://freecode.com/projects/html2ps_php

但我仍然认为最好的解决方案是使用javascript。当然,只有客户端才能访问屏幕截图,也许您可​​以将图像上传到服务器。客户端浏览器优于任何类型的服务器脚本。

如果是这种情况,我建议使用HTML2CANVAS:

HTML2CANVAS:http://html2canvas.hertzen.com/

最好的服务器解决方案将是一个带有谷歌浏览器安装的Linux发行版和一个截取屏幕截图的本地脚本。这是获取可能包含javacript / HTML5 /动画和其他难以渲染的内容的网页的准确屏幕截图的唯一方法。

答案 1 :(得分:0)

JavaScript / HTML5 / Canvas

仅在PHP中编码可能很困难。在你的情况下,我想我会遵循这些指示:

Using HTML5/Canvas/JavaScript to take screenshots

<强> PHP

或者,如果您真的只想使用PHP,它应该可以帮助您:

Website screenshots using PHP