如何使用 php 截取已加载网页的屏幕截图?

how to take a screenshot of a loaded webpage using php?

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

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

我尝试使用 wkhtmltoimage,但它截取的屏幕截图质量较低,而且在加载整个页面之前截取屏幕截图,因此网页的某些图像没有出现在屏幕截图中,有没有办法使用 php?

请php专家帮忙。谢谢

JavaScript / HTML5 / Canvas

仅在 PHP 中可能很难对其进行编码。对于您的情况,我想我会遵循这些说明:

Using HTML5/Canvas/JavaScript to take screenshots

PHP

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

Website screenshots using PHP

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

HTML2PS: http://freecode.com/projects/html2ps_php

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

如果是这样,我建议使用 HTML2CANVAS:

HTML2画布:http://html2canvas.hertzen.com/

最好的服务器解决方案是 linux 发行版,其中包含 google chrome 安装和用于截屏的本地脚本。这是获得可能包含 javacript/HTML5/animations 和其他难以呈现的内容的网页的准确屏幕截图的唯一方法。