• JS实现局部打印和预览【转】


    第一种:

    JS 实现简单的页面局部打印 
    function preview(oper)
    ...
    {
    if (oper < 10)...{
    bdhtml
    =window.document.body.innerHTML;//获取当前页的html代码
    sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
    eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
    prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html

    prnhtml
    =prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
    window.document.body.innerHTML=prnhtml;
    window.print();
    window.document.body.innerHTML
    =bdhtml;


    }
     else ...{
    window.print();
    }


    }


    使用很简单 将页面内要打印的内容加入中间
    <!--startprint1-->XXXXX<!--endprint1-->
    再加个打印按纽 onclick
    =preview(1

    第二中:组件法

    WebBrowser是IE内置的浏览器控件,无需用户下载.

    一、WebBrowser控件 
      
    <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object> 
    二、WebBrowder控件的方法 
    //打印 

    WebBrowser1.ExecWB(
    6,1); 

    //打印设置 

    WebBrowser1.ExecWB(
    8,1); 

    //打印预览 

    WebBrowser1.ExecWB(
    7,1); 

    关于这个组件还有其他的用法,列举如下: 
    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) 关闭窗体无提示 
    但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
    样式内容:
    <style type="text/css" media=print>
    .noprint...
    {display : none }
    </style>
    然后使用样式就可以:
    <p class="noprint">不需要打印的地方</p>

    代码如下:

    <script language="javascript"> 
    function printsetup()...
    // 打印页面设置 
    wb.execwb(8,1); 
    }
     
    function printpreview()...
    // 打印页面预览 

    wb.execwb(
    7,1); 

    }
     

    function printit() 
    ...

    if (confirm('确定打印吗?')) ...
    wb.execwb(
    6,6
    }
     
    }
     
    </script> 

    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT> 
    <input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()"> 
    <input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();"> 
    <input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();"> 

  • 相关阅读:
    PAT 甲级 1132 Cut Integer (20 分)
    AcWing 7.混合背包问题
    AcWing 9. 分组背包问题
    AcWing 5. 多重背包问题 II
    AcWing 3. 完全背包问题
    AcWing 4. 多重背包问题
    AcWing 2. 01背包问题
    AcWing 875. 快速幂
    AcWing 874. 筛法求欧拉函数
    AcWing 873. 欧拉函数
  • 原文地址:https://www.cnblogs.com/xsmhero/p/2360853.html
Copyright © 2020-2023  润新知