Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拍摄网页客户端或服务器端的屏幕截图_Javascript_Image_Screenshot - Fatal编程技术网

Javascript 拍摄网页客户端或服务器端的屏幕截图

Javascript 拍摄网页客户端或服务器端的屏幕截图,javascript,image,screenshot,Javascript,Image,Screenshot,我正在做一个项目,我需要基本上拍摄用户在我的应用程序上创建的页面的屏幕截图,我不确定从哪里开始 我看过其他类似about.me这样的网站,我想知道他们可能在做什么来创建页面截图。例如: 缩略图基本上是页面的精确副本(包括字体等) 我怎样才能做到这一点?客户端,服务器端?看看。向它输入一些HTML,它将呈现网页在Webkit浏览器中的外观图像(“可能”,因为浏览器不同,Webkit不断工作)看看。向它提供一些HTML,它将呈现网页在Webkit浏览器中可能的样子(“可能”因为浏览器不同,Webki

我正在做一个项目,我需要基本上拍摄用户在我的应用程序上创建的页面的屏幕截图,我不确定从哪里开始

我看过其他类似about.me这样的网站,我想知道他们可能在做什么来创建页面截图。例如:

缩略图基本上是页面的精确副本(包括字体等)


我怎样才能做到这一点?客户端,服务器端?

看看。向它输入一些HTML,它将呈现网页在Webkit浏览器中的外观图像(“可能”,因为浏览器不同,Webkit不断工作)

看看。向它提供一些HTML,它将呈现网页在Webkit浏览器中可能的样子(“可能”因为浏览器不同,Webkit一直在工作)

我以前必须为客户这样做,根据经验,最简单的方法之一就是使用免费的第三方服务GrabzIt。它们非常可靠、快速,并且有包括PHP在内的五种不同语言的API


我以前为一个客户做过这件事,根据经验,做这件事最简单的方法之一就是使用一个名为GrabzIt的免费第三方服务。它们非常可靠、快速,并且有包括PHP在内的五种不同语言的API


看起来这个问题的答案就是你想要的


否则:

通过:

10美元/月:

您希望的是自动化流程,还是由用户初始化的流程


无论是哪种截图方式,您都需要在某个地方呈现页面->通过浏览器或其他方法。这在客户机上更容易做到,因为有很多浏览器和其他渲染程序为您做准备,那么您所要做的就是找出如何使用javascript获得渲染的页面的屏幕截图/副本。

看起来这个问题的答案就是您想要的


否则:

通过:

10美元/月:

您希望的是自动化流程,还是由用户初始化的流程

无论是哪种截图方式,您都需要在某个地方呈现页面->通过浏览器或其他方法。这在客户端上更容易做到,因为有很多浏览器和其他渲染程序为您做准备工作,您所要做的就是找出如何使用javascript获取渲染的
页面的截图/副本。

About.com用于截图。还有其他类似的服务。这意味着用户页面必须在以后保存并复制,以便外部服务拍摄屏幕截图,前提是:

  • 将用户页面保存到UrlA
  • 调用web服务获取UrlA的屏幕截图
  • About.com用于截图。还有其他类似的服务。这意味着用户页面必须在以后保存并复制,以便外部服务拍摄屏幕截图,前提是:

  • 将用户页面保存到UrlA
  • 调用web服务获取UrlA的屏幕截图

  • 基本上有两个选项:渲染客户端或服务器端

    对于客户端渲染,您有几个选项—最流行的选项是。html2canvas的缺点是它并不总是准确的,特别是如果你使用了大量的psionAbsolute,fixed。。此外,在加载图像时,您可能需要一个代理来解决cors问题

    对于服务器端渲染,您可以使用类似的东西,这基本上允许您启动chromium浏览器并拍摄屏幕截图。在JS端,您基本上收集所有html并将其发送到服务器,服务器在给定视口、滚动位置等的情况下呈现网站


    您也可以使用类似的方法,它基本上结合了这两种方法。

    您基本上有两个选项:渲染客户端或服务器端

    对于客户端渲染,您有几个选项—最流行的选项是。html2canvas的缺点是它并不总是准确的,特别是如果你使用了大量的psionAbsolute,fixed。。此外,在加载图像时,您可能需要一个代理来解决cors问题

    对于服务器端渲染,您可以使用类似的东西,这基本上允许您启动chromium浏览器并拍摄屏幕截图。在JS端,您基本上收集所有html并将其发送到服务器,服务器在给定视口、滚动位置等的情况下呈现网站


    您也可以使用类似的方法,它基本上结合了这两种方法。

    看看这是否有帮助:它使用CanvasHanks看看这是否有帮助:它使用CanvasHanks,您是对的。我被列为url2png的客户之一。正如Kolink建议的那样,我最终还是会使用wkhtmltoimage。谢谢,你说得对。我是url2png的客户之一。正如Kolink建议的那样,我最终会使用wkhtmltoimage。
    include("GrabzItClient.class.php");
    
    $grabzIt = new GrabzItClient("APPLICATION KEY", "APPLICATION SECRET");
    $id = $grabzIt->TakePicture("http://www.google.com");
    
    //wait a certain amount of time
    
    $result = $grabzIt->GetPicture($id);
    
    if (!$result)
    {
    return;
    }
    
    file_put_contents("images" . DIRECTORY_SEPARATOR . $filename, $result);