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

6
我需要使用php脚本对几个网页进行截图并将它们保存在一个文件夹中。我想通过渲染这些网页并在网站完全加载后截取特定区域的屏幕截图来实现这一目的 - 我正在使用Windows操作系统。
我尝试使用wkhtmltoimage,但它的截图质量很低,并且它在网页完全加载之前就进行了截图,因此网页上的一些图片不会出现在屏幕截图中。有没有办法使用php来解决这个问题呢?
请php专家帮忙,谢谢。

php?使用客户端语言。 - Madhawa Priyashantha
你可以使用“无头浏览器”。这些也可用于测试。 - arkascha
PHP不是适合这项工作的正确工具,请尝试一些可以嵌入Web浏览器的工具。 - Youn Elan
考虑使用具体的示例,单独询问如何解决wkhtmltoimage的问题。 - Ry-
2个回答

6

PHP 运行在服务器端,因此要能够截屏,您需要有一些可以渲染 HTML(类似浏览器的脚本)并生成其图像的工具。以下是可用于此目的的脚本(包括 wkhtmltoimage):

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

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

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

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

最佳的服务器解决方案将是一个带有 Google Chrome 安装和本地脚本以进行屏幕截图的 Linux 发行版。这是获取包含 javacript/HTML5/动画和其他难以呈现的内容的网页准确屏幕截图的唯一方法。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接