是否可以在服务器端获取渲染DOM的屏幕截图?

Lou*_* B. 2 javascript php webpage-screenshot

在我的Web应用程序中,用户可以创建一些保存在我的数据库中的HTML/CSS标记.我想为该标记提供一个"缩略图",例如在概览视图中.

由于缩略图应该在200x200px左右,并且原始标记打算在900x900px左右查看,我必须找到一种方法来"缩放"该标记:应该就像我在900px处截取渲染标记一样并将其缩小到200px.

有人知道这是否可以使用JavaScript或PHP?或者也许是另一种服务器端语言?我想避免使用任何第三方小程序,如ActiveX.

编辑:我猜某种混搭,其中截图是在客户端拍摄的,然后发送到服务器也行.

Mic*_*hal 5

您可以使用WKHTMLTOPDF.它还具有保存图像的功能,称为WKHTMLTOIMAGE(我认为这是一个不同的发行版,但您可以从同一个链接下载它).您可以使用exec()PHP作为系统调用运行它.像xvfb你一样使用虚拟缓冲区可以在服务器上运行WKHTMLTOIMAGE无头.这是基于WebKit所以产生的结果真的很好......

您可以使用标准PHP函数缩放生成的图像,例如在这些帖子中所描述的:

您可能想要在PHP中检查我对HTML2PDF这个问题的回答- 转换实用程序和脚本 - 示例和演示,也许它对您有所帮助.