IE浏览器实现打印预览

最近遇到这么一个需求,需要在IE浏览器上打印的时候,不直接调用打印机,而是先打开打印预览页面,再进行打印操作。

这样,就需要对原本的打印方法进行改写了。具体实现如下:

在jsp页面进行以下操作。



function printall(){
		// 打印页面预览 
		if (!!window.ActiveXObject || "ActiveXObject" in window){//IE浏览器		
		 	$(".noprint").css("display","none");  
			try{
				//增加打印预览
				printWB.ExecWB(7, 1);
			}catch(e){
				alert(e);
			}finally{
				$(".noprint").css("display","");   	
			}					
		}else{
			//需要引入jquery.jqprint-0.3.js
			$('#a').jqprint();
		}		
	}

附该对象常用的方法:

 

下面附上测试的完整代码:


  
    print demo  
      
      
      
  
  
  
	
    

这些文本将要被打印!

关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 撤销
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示

你可能感兴趣的:(工作需求解决方案)