【问题标题】:Can I programmatically save part of a web page as an image?我可以以编程方式将网页的一部分保存为图像吗?
【发布时间】:2011-05-03 15:08:08
【问题描述】:

如果可能的话,我想用一个简单的按钮来做到这一点。用户对电脑不太满意,这就是为什么我没有告诉他们打印屏幕或使用截图工具。

我知道 it can be done 在基于 Mozilla 的浏览器中使用 <canvas>drawWindow()。但此应用程序在 Internet Explorer 7 和 8 上运行。

该页面根据几个下拉菜单的输入显示一些图表(由 ReportViewer 控件生成)。这是否意味着客户端脚本是唯一的选择?或者我可以在 ASP.NET 后端以某种方式做到这一点吗?也许在下拉列表更改时重新生成图像?
(我从事桌面开发已经很长时间了,以至于我还没有完全“了解”您在网络应用程序中可以做什么和不能做什么。)

【问题讨论】:

  • 我没有使用reportviewer控件,所以我不会将其发布为答案...但是快速谷歌搜索表明内置了PDF导出功能。我想你可以只获取组合框值并为它们生成 PDF 服务器端。
  • 好主意。但我希望页面的一些周围区域也能在图像中可见;也许我可以用它在服务器端做一些操作。
  • Iframes 应该是要走的路,你也可以使用一个基于 javascript 的库来为你的 grpah 创建自己的画布,例如Raphael

标签: javascript asp.net internet-explorer


【解决方案1】:

据我了解,您有一些下拉菜单,并且您正在根据用户对这些下拉菜单的输入生成图表?

所以如果我用 PHP 来做这件事(只是想在这里给你一些想法,不知道什么是可能的,什么不在 ASP 中)我会创建一个图像魔术或 gdb 库脚本,它根据输入的变量构建 jpeg查询字符串。

例如,这将输出一个简单图形的 jpeg 图像,上面有 3 个点:

http://mydomain.org/image.php?value1=10&value2=20&value3=30

然后对于我的脚本的前端,我可能会使用 jquery/ajax 来调用该脚本并在用户更改值时显示图像。

然后你有一个图像,你可以强制下载或指示用户右键单击并选择“另存为”。

无论如何,这只是一个想法,而不是解决方案。我不了解 ASP.NET,但这就是我在 PHP 中的做法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 2010-11-21
    • 1970-01-01
    相关资源
    最近更新 更多