zoukankan      html  css  js  c++  java
  • 使用浏览器自带打印功能,去除页眉页脚,横屏打印等

    HTML代码


    <head>
        <script src="/Scripts/printCurrentPage.js" type="text/javascript"></script>
    </head>
    <body>
        <object id='WebBrowser' width="0" height="0" classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'
            viewastext>
        </object>

    Javascript代码printCurrentPage.js文件


    var hkey_root, hkey_path, hkey_key;
    hkey_root = "HKEY_CURRENT_USER";
    hkey_path = "\Software\Microsoft\Internet Explorer\PageSetup\";
    // 设置网页打印的页眉页脚为空
    function pagesetup_null() {
        try {
            var RegWsh = new ActiveXObject("WScript.Shell");
            hkey_key = "header";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
            hkey_key = "footer";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
        } catch (e) { alert(e); }
    }
    // 设置网页打印的页眉页脚为默认值
    function pagesetup_default() {
        try {
            var RegWsh = new ActiveXObject("WScript.Shell");
            hkey_key = "header";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&w&b页码,&p/&P");
            hkey_key = "footer";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&u&b&d");
        } catch (e) { alert(e); }
    }
    
    function printMethod() {
        pagesetup_null();
        //window.print();
        WebBrowser.ExecWB(6, 6);
        //WebBrowser.ExecWB(6, 1);
        //WebBrowser.ExecWB(7, 1);
        window.opener = null;
        window.close();
    }
    //设置默认的页眉页脚 
    function SetupPage() {
        try {
            var RegWsh = new ActiveXObject("WScript.Shell");
            hkey_key = "header"
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&w&b页码,&p/&P")
            hkey_key = "footer"
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&b&d") //去掉了&u 因为我不想显示当前打印页的网址 
            hkey_key = "margin_bottom";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.39"); //0.39相当于把页面设置里面的边距设置为10 
            hkey_key = "margin_left";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.39");
            hkey_key = "margin_right";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.39");
            hkey_key = "margin_top";
            RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.39");
        }
        catch (e) { }
    }
    //设置纸张方向 
    function SetupLandscape() {
        try {
            var wsShell = new ActiveXObject("WScript.Shell");
            //打印页面的Menubar必须可见,此操作类似按键盘上的Alt+F+U也就是 调出页面设置对话框 
            wsShell.sendKeys('%fu');
            //此操作类似按键盘上的Alt+A也就是 设置横向打印 
            wsShell.sendKeys('%a');
            //此操作类似按键盘上的回车 页面设置对话框的默认焦点在 确定上 所以直接确定 
            wsShell.sendKeys('{ENTER}');
        }
        catch (e) { }
    }
    window.onload = function () {
        //printMethod();
        SetupLandscape();
        //setTimeout("printMethod()", 2000);
        //setTimeout("SetupLandscape()", 1000);
        //setTimeout("SetupPage()", 2000);
        //setTimeout("printMethod()", 3000);
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    ObserverPattern(观察者模式)-----Java/.Net
    MementoPattern(备忘录模式)-----Java/.Net
    SpringCloud-day02-服务消费者项目建立
    SpringCloud-基础项目构建
    idea git 整合使用
    springcloud-知识点总结(三):Hystrix & Dashboard & turbine & Zuul & SpringCloud Config
    springcloud-知识点总结(二):Ribbon&Feign
    springcloud-知识点总结(一):Eureka
    layui-tree创建下拉树型选项框
    ztree带有选项框的树形菜单使用
  • 原文地址:https://www.cnblogs.com/ful1021/p/4804377.html
Copyright © 2011-2022 走看看