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);
    }

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

  • 相关阅读:
    UVA 11488 Hyper Prefix Sets (字典树)
    UVALive 3295 Counting Triangles
    POJ 2752 Seek the Name, Seek the Fame (KMP)
    UVA 11584 Partitioning by Palindromes (字符串区间dp)
    UVA 11100 The Trip, 2007 (贪心)
    JXNU暑期选拔赛
    计蒜客---N的-2进制表示
    计蒜客---线段的总长
    计蒜客---最大质因数
    JustOj 2009: P1016 (dp)
  • 原文地址:https://www.cnblogs.com/ful1021/p/4804377.html
Copyright © 2011-2022 走看看