繁体   English   中英

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

[英]How to save part of an html page to an image or pdf either on client (javascript) or asp.net on the server side?

有没有一种方法可以实现功能,以便用户可以右键单击HTML页面的子部分(例如DIV或其他容器元素),以便可以将该部分另存为图像/ pdf(使用javascript)?

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

此用例如下:

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

  1. 该工具需要单独运行,这对最终用户不友好
  2. 该工具提取页面上的所有内容,例如菜单页眉,页脚等。

对于第二个问题,我可以生成没有页眉/页脚和菜单的网页,然后使用该工具,但这不能解决问题1。理想情况下,我想每周自动生成报告,因此用户只需要下载即可。

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

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

参见http://iecapt.sourceforge.net/

如果您想根据需要裁剪捕获的图像,或者为该工具提供实际需要的html图像而不是整个页面,则必须进行一些计算。

希望这可以帮助。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM