【问题标题】:Capture screenshot of website on the client (Javascript or flash)在客户端捕获网站截图(Javascript 或 Flash)
【发布时间】:2010-02-27 00:57:02
【问题描述】:

是否有一些方法可以使用 javascript 或嵌入的 flash 对象等从浏览器发出屏幕截图(仅限浏览器窗口内容),以便保存或打印页面内容的完整质量图像或替代方法。

我有一个带有谷歌地图和其他 ajax 操作客户端的网络应用程序 (asp.net 3.5),例如自定义图块服务器。我一直在尝试为用户实现一种打印高质量网页捕获的方法。

我使用了基本的 Window.Print(),但在 IE 和 FF 中,谷歌地图中有许多工件,并且弹出的气泡等一些项目无法打印。我已经尝试通过cutepdf保存pdf(只是在这里发布一个示例)并且通过window.print()的质量也很低。

例如,带有 FireShot 插件的屏幕截图是完美的,也是我希望客户端拥有的。但是这只是 FF,我不能要求客户在他们的浏览器上安装插件/activex 控件。

看看这个下载example zip file(4mb)与:

  1. 使用 FireShot 的示例屏幕截图 (我想要实现的示例 通过 html/JS 按钮 页)
  2. Firefox Window.Print() 结果 (可爱的pdf用来保存为pdf)
  3. IE Window.Print() 结果(可爱的pdf 用于另存为pdf)

注意 2,3 中的小气泡即使打开也不会打印。

目前,我已经在我的网站上添加了全屏功能并引导用户截屏或调用 window.print() 函数。

我仍在寻找一种方法来打印/捕获我的页面。

我可以在我的页面中包含任何 flash/activex 控件并通过它们提供高质量的打印机制吗?

再次感谢所有帮助,但我仍然需要更多帮助。 :)

提前谢谢你。

http://rapidshare.com/files/311849636/Print_examples.zip.html

【问题讨论】:

  • 关于为什么气泡在打印中消失的任何想法。毕竟它只是 html

标签: asp.net google-maps client-side printing-web-page


【解决方案1】:

您将进行所有这些工作,却发现像 Snagit 这样的简单应用程序就可以完成这项工作。 Building a SnagIt Screen Capture Plugin

【讨论】:

  • 我不明白。 snagit 不是必须安装在客户端上的软件吗?不能嵌入网页吗?
  • 我怀疑你是否会获得一个能够访问浏览器画布并使其跨浏览器、跨操作系统兼容的嵌入式对象。您需要运行具有足够操作系统访问权限的东西来抓取画布。你说你尝试过cutepdf。好吧,它也没有嵌入。
  • 抱歉,我使用 cutepdf 只是为了查看 window.print() 命令的打印质量,并将 pdf 作为示例发布在这里,以显示打印和其他工件中缺少的信息窗口
【解决方案2】:

在富 Web 应用程序中可靠地提供屏幕上内容的高质量打印版本的唯一方法是使用客户端(例如 JavaScript)向服务器发送有关当前状态的精确信息(气泡所在的位置)等)并使用它来生成模仿定位的图像。将该图像转换为 PDF 或你有什么,然后发送给客户下载。

【讨论】:

  • 那会变得过于复杂。特别是谷歌地图。在服务器上获取图块可能是不合法的。无论如何,与这种方法相比,我认为我可以保留正常的打印方法,并告诉用户捕获屏幕会产生更高的质量......
【解决方案3】:

Google 也有一个Static Maps API,它可能会给你带来很好的结果。我自己研究过一次,只是没有采用它,因为(当时)它们在多段线上可以支持多少点是有限制的。

【讨论】:

  • 感谢您的链接。点数限制应该不是问题,因为我使用的是自定义切片图层。如果我觉得有用,我会发布反馈
【解决方案4】:

我认为这是不可能的。能够通过脚本捕获用户的屏幕将是相当大的安全风险(想象不良网站捕获屏幕信息)。

【讨论】:

  • 我不想将它传输到服务器,而是让用户保存图像并稍后打印。正是 window.print() 所做的,但质量更高
【解决方案5】:

不,没有,尽管它有时会非常方便地用于错误报告等。

您可能会通过创建页面的单独版本来获得最佳结果,因为 PDF 已生成该页面。无论如何,这不是快速修复,但您将获得卓越的打印质量和对一切的完全控制。地图部分可能会有点棘手,因为您需要以某种方式在服务器上将地图作为位图获取,如果它不在客户端的闪存中,我不知道您将如何做到这一点。

【讨论】:

    猜你喜欢
    • 2011-05-26
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    相关资源
    最近更新 更多