一个不错的WEB打印解决方案!

来源:互联网 发布:linux编写守护进程步骤 编辑:程序博客网 时间:2024/05/12 07:44
前段时间做项目时,因为需要用到WEB打印,原来是想用水晶报表的,但由于生成的数据比较麻烦(由多张表并且经过多次计算才生成),因此就想上网找一下有没更好更方便的办法。其实最好的办法就是可以直接打印当前页面需要的内容,这样就不用再去考虑数据源的问题了,所有操作都在客户端实现。网上的方法一般都是使用样式控制页面所需打印部分,于都在同一页面内控制,所以这样打出来的效果也不好看,而且也不便于控制,于是我就想到将需要打印的内容直接传到另一个页面,然后再在那个页面里进行打印操作,因为是一个新的页面,所以可以很方便去控制需要的样式,只要将所有打印的连接都用此页面进行操作就可以了,这样打出来的效果就可以完全与页面内容一样(包括样式),当然,前提是必须在IE高级设置里将“打印背景图像”一选项打开,否则只能打印前景色。此方法最终也是调用WebBrowser控件进行的,所以还必须要求客户端IE打开“对没有标记为安全的ActiveX控件进行初始化和脚本运行”的选项,这是使用此方法的唯一一个缺点!具体实现:1、此方法实现其实也非常简单,主要是要先定义好要打印的区域,可以使用一个DIV包含起来,如下:
编号
姓名
年龄
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
1
ssd
23
2、增加一个打印按钮: 3、增加JS方法:(其实就打开另一个新的打印页面)4、在新建一个Print.htm页面,获取父页面的内容,并且打印出来

完成!
原创粉丝点击