使用 Javascript 将 HTML 页面转换为图像



嗨,

编辑:我想通过使用任何第三方软件来实现它。我的应用程序是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捕获其他应用程序的选定屏幕?

相关内容

  • 没有找到相关文章

最新更新