问题描述:
JS实现Web网页打印功能
问题解决:
这里主要使用WebBrowser控件的ExeWB在IE中打印功能的实现
WebBrowser介绍:
WebBrowser是IE内置的浏览器控件,无需用户下载。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。
一、WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
二、WebBrowder控件的方法
//打印
WebBrowser1.ExecWB(6,1);
//打印设置
WebBrowser1.ExecWB(8,1);
//打印预览
WebBrowser1.ExecWB(7,1);
具体实例:
(1)打印预览
注:打印预览的JS代码主要是document.all.WebBrowser.ExecWB(7,1);以上在打印表格时,由于表格设置了max-height的CSS类,因此直接打印的话,会有表格的滑动条,因此在打印预览的页面中,我们需要删除表格的滑动条
注:以上为删除表格滑动条的JS代码,删除CSS的class类,主要是使用了className的replace操作,替换CSS的class为“ ”
同时,以上对于CSS中滑动条的设置回影响Web页面中的表格滑动条,因此在打印预览之后,需要恢复表格的CSS滑动条
注:以上即是删除CSS类scroll的JS代码
(2)直接打印
(3)设置打印页面
(4)删除页眉、页脚
(5)设置页眉、页脚