如何在客户端(javascript)或服务器端的asp.net上将部分html页面保存为图像或pdf?

时间:2013-10-11 08:19:41

标签: javascript c# html asp.net

有没有办法实现功能,以便用户可以右键单击Html页面的一个子部分(例如DIV或其他容器元素),以便该部分可以保存为image / pdf(使用javascript)?< / p>

或者(理想情况下)可以在ASP.NET的服务器端完成吗?

用例如下:

我有一些在asp.NET中生成的复杂网页,并使用javscript Flot库来生成图形。我想重用部分html页面来生成PDF报告或至少可以轻松插入到报告中的图像快照。我环顾四周,似乎有一个工具wkhmltopdf将整个页面转换为PDF,但是有两个问题:

  1. 此工具需要单独运行,这对最终用户不友好
  2. 该工具会提取页面上的所有内容,例如菜单页眉,页脚等。
  3. 对于第二个问题,我可以生成没有页眉/页脚和菜单的网页,然后使用该工具,但这并不能解决问题1.理想情况下,我想每周自动生成报告,以便用户只需要下载它。

    为此目的,真正需要的是以pdf或图像存储由id引用的DIV(或其他元素)的某种方式。这样我就不需要编写单独的代码来生成报告。我意识到将html转换为PDF的质量会有所下降,但就我们的目的而言,这并不重要。

2 个答案:

答案 0 :(得分:0)

IECapt#是用C#编写的IECapt的新版本和实验版本,用于将网页呈现为BMP,JPEG或PNG图像文件。

请参阅http://iecapt.sourceforge.net/

如果你想根据你的要求裁剪拍摄的图像,你必须进行一些计算,或者给工具提供实际想要的html作为图像,而不是整个页面。

希望这有帮助。

答案 1 :(得分:0)

如果这可以帮助其他人,我最终选择了iTextSharp库,它非常强大并且还处理svg。它不会执行一般的html5到pdf转储,但是通过一些代码,我可以完成我需要的大部分工作。

主要网站是: http://itextpdf.com/

下载: http://sourceforge.net/projects/itextsharp/