打印方面总结,html打印设置,Web打印的解决方案

2018-07-23  本文已影响0人  于哈哈yhh

打印首先需要对浏览器进行页面设置去掉多余项:打开ie浏览器,点开工具按钮,打印--页面设置--页眉和页脚(里面都设置为空)

1.插件打印(jqprint)

参考: http://www.jq22.com/jquery-info347

注:这一方法的弊端是只能直接打印,无法自动适应纸张的大小

2.依赖新建页面并打印

 //作用:打印页
    function PrintPage() {
        var pwin=window.open("","print"+new Date().getTime()); //新打开一个页面,加上new Date().getTime()是为了防止页面同名只显示一个
        pwin.document.write(print_box_max.innerHTML);//print_box_max是打印区域的id
        PageSetup_Null();//设置页眉和页脚为空
        pwin.focus();
        pwin.document.close();  //这句很重要,没有就无法实现
        pwin.print();
    }
    
    var HKEY_Root,HKEY_Path,HKEY_Key;
    HKEY_Root="HKEY_CURRENT_USER";
    HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
    //设置网页打印的页眉页脚为空 ,仅IE浏览器可用
    function PageSetup_Null()
    {
        try
        {
            var Wsh=new ActiveXObject("WScript.Shell");
            HKEY_Key="header";
            Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
            HKEY_Key="footer";
            Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
        }
        catch(e)
        {}
    }

注意:
在打印的时候可以对页面设置两种css,一种用于显示,一种用于打印,打印的文件要带有media="print"属性,即

 <link href="/css/sendoc.print.css" rel="stylesheet" media="print">

如果需要新打开页面记得吧样式放在id包裹的内容里

上一篇下一篇

猜你喜欢

热点阅读