在web页面中提供打印功能

最近一个项目需要在页面里面提供打印功能,这个功能似乎看起来很不起眼,因为在目前各大网站的文章页面都有打印功能,之前的项目也使用过,而且很简单就一句话:

window.print();

调用本地的打印接口,很方便,也很轻量,主流浏览器支持非常好,用户只要点个按钮或者链接就基本上搞定。 但是也有问题,比如不能精确分页,不能设置纸型等。

除此之外,还有两种常见的基于网页的打印方式:

一种是依赖activeX控件来打印,这也决定了其只能在IE浏览器下可以使用了,部分通过安装插件可以在Firefox实现打印,比如 Lodop

另外一种是基于Java Applet的打印,比如JasperReport的Applet实现方式,通过调用Java的通用打印接口,也可以比较好的实现网页打印,但是前提是用户的客户端必须安装一个几十兆的Java虚拟机,每次打印都得重新去服务器获取数据,其次是比较慢的响应速度。例如:http://www.jwebhosting.net/servlets/jr123/printer.html

具体使用那种就需要结合项目来选取了,比如我们的客户使用IE的多,而且用户群体比较广,那么我们就考虑使用activeX在IE下打印,而在其他浏览器下则考虑使用浏览器自带的print方法来代替。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据