【jqprint打印】js两种超简单的打印方法

1.用jqprint插件实现打印

快速使用

jqprint是一个简单好用的打印插件,可以实现局部打印,首先是引入jq,,然后引入jqprnt

【jqprint打印】js两种超简单的打印方法_第1张图片

 //打印
                $("#fh").jqprint({
                  debug: false,            
                  importCSS: true,         
                  printContainer: true,    
                  operaSupport: false  
                });

其中fh是div的id,

debug: false,//如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false               

 importCSS: true, //true表示引进原来的页面的css,默认是true。(如果是true,先会找$("link[media=print]"),若没有会去找$("link")中的css文件)             

 printContainer: true,//表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。                

operaSupport: false//表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true  

导入CSS属性

如果 importCSS是false,只会打印html里面style的css修饰,不会打印head标签或者外部引入的css,如果设置为true,就可以打印外部的css属性。

如果只需要引入一个css文件,可以有如下两种写法

这个表示只有打印的时候才会显示css效果

这个表示不管打印与否都会显示css效果

如果要引入多个css,就只能用第二种

在IE等浏览器去页眉页脚的方法

首先说一下可能是我IE版本太低,不管用什么方法都无法去掉页眉页脚,其他浏览器都没问题,我同学的IE也可以去掉。

其实也很简单,只需要在css文件里添加如下代码(可以二选一根据情况来定)

①直接去掉页眉页脚

 .header,.footer{
      display:none;
    }

②这个也会去掉页眉页脚,但是左上角的纸张不会有外边距,比如我要打印的内容正好是A4纸,然后我的div已经设置好了A4值长宽,不需要额外的外边距,所以这个正适合我。

@page {

size: auto;

margin: 0mm;

}

如果有喜欢看电影的朋友可以关注 沉沉影视

任何电影网络剧发名字就有百度云链接,还有大量计算机学习视频免费拿

【jqprint打印】js两种超简单的打印方法_第2张图片

2.用js实现打印功能

直接上代码

 

function doPrint() {      
    bdhtml=window.document.body.innerHTML; 
    //设置打印代码起点     
    sprnstr="";   
    //设置打印代码终点   
    eprnstr="";      
    document.getElementsByTagName('body')[0].style.zoom=0.60;
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);      
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));      
    try{ 
        var hkey_root,hkey_path,hkey_key; 
        hkey_root="HKEY_CURRENT_USER"; 
        hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
        var RegWsh = new ActiveXObject("WScript.Shell");
        //设置页眉/脚的字体样式
        hkey_key="font";
        RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"font-size: 12px; font-family: 黑体; line-height: 24px");
        //设置页眉
        hkey_key="header";
        RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"");
        //设置页脚
        hkey_key="footer"; 
        RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,""); 
        //设置页边距(0.6 要乘以 2.5为实际打印的尺寸)
        hkey_key="margin_bottom";   
        RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.6");
        hkey_key="margin_left";  
        RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.6");
        hkey_key="margin_right";   
        RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.6"); 
        hkey_key="margin_top";    
        RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.6");
     
    }catch(e){
    }    
    window.document.body.innerHTML=prnhtml;   
    window.print();      
}     

直接调用方法,然后把下面两个东西放在要打印的代码块前后就ok

你可能感兴趣的:(前端)