嗨,
编辑:我想通过使用任何第三方软件来实现它。我的应用程序是SAP产品,我无法访问每个客户并将该软件安装到他的系统中。
我有以下情况..
我的网站中有一个名为"Save as image"
..所以每当用户按下该按钮时,页面内容都必须转换为图像文件并保存在他的系统中。
我们可以通过javascript或jquery来实现它吗?
如果我们不能在javascript中做到这一点,我们可以在SAP BSP中做到这一点吗,因为我的应用程序是在SAP BSP中开发的?
我已经在这个网站上搜索过,找到了一个仅适用于Firefox扩展的解决方案。但是我需要一个跨浏览器解决方案,它必须适用于IE,Chromer等。
执行此操作的方法是在隐藏的 <canvas>
元素中呈现 HTML 页面,然后将画布内容另存为图像。
这是可能的,但您将没有完美的渲染输出或在旧版浏览器上运行的解决方案。
请看
https://stackoverflow.com/a/12660867/315168
了解更多信息。
或者,将无状态页面 URL 提交到服务器端,无头浏览器在该服务器端呈现页面并使用 Selenium 自动化截取屏幕截图。如果页面是公开的,则也存在一些Web服务。
一个简单但部分的IE解决方案,它使用ActiveX,所以不是crosswbrowser,而是一个更麻烦的通用解决方案。
IE 解决方案
function printScreen(){
var oWordBasic;
if (window.ActiveXObject){
oWordBasic = new ActiveXObject("Word.Basic");
oWordBasic.SendKeys('%{1068}');
oWordBasic.SendKeys('%{PRTSC}'); //or if the above doesnt work..
//save or transfer the clipboard contensts
}
}
一般解决方案:
使用像Gadwin PrintScreen http://www.gadwin.com/printscreen/这样的屏幕捕获实用程序,它适用于Windows,但我确信Linux和Mac也有类似的功能。您可以定义一个热键,并让它通过自动编号将图像保存到固定位置。该程序不需要安装,它是可移植的,因此它可以驻留在网络共享上。
您也可以尝试创建包含在站点中的 Java 小程序或 jar,以捕获屏幕或浏览器的某些部分。 我看到了基于 jar 加载文件的实时屏幕共享机制,但我没有看到代码。
这是一些用于Java HTML到图像转换的库http://code.google.com/p/java-html2image/
这是类似的主题如何使用java捕获其他应用程序的选定屏幕?