zoukankan      html  css  js  c++  java
  • js打印java web页面代码大全

    第一种方法:指定不打印区域

    使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内。

    详细如下:

    <style media=print type="text/css">  
    .noprint{visibility:hidden}  
    </style>  
    要打印的内容。哈哈!
    <p class="noprint">将不打印的代码放在这里。</p>
    <a href="javascrīpt:window.print()" target="_self">打印</a>

    第二种方法:指定打印区域(这个方法最方便,我的大爱

    把要打印的内容放入一个 span或div,然后通过一个函数打印。

    &nbsp;
     <input type=button id=button_print name=button_print
          value="打印本单据" onclick="javascript:printit(‘div1’);">

    <span id='div1'>把要打印的内容放这里</span>
    <p>所有内容</p>

    <input type=button id=button_print name=button_print
          value="打印本单据" onclick="javascript:printit(‘div2’);">
    <div id="div2">div2的内容</div>

    注:套打的时候,forEach循环中方法调用为:div${status.index+1 },层和方法都需要


    <script language="javascript">
      //提示窗口
              function printit(MyDiv)
              {
              if (confirm('确定打印吗?')) {
                   //var newstr = document.all.item(myDiv).innerHTML;
                  var newstr = document.getElementByIdx_x(MyDiv).innerHTML;
                  //alert(newstr);
                  var oldstr = document.body.innerHTML;
                  document.body.innerHTML = newstr;
                  window.print();
                  document.body.innerHTML = oldstr;
                  return false;
               }
             }
     </script>

    如果要打印的只是整个页面中的一小部分,就最好采用第二种方法。

    第三种方法:如果要打印的页面排版和原web页面相差很大,采用此种方法。

    点打印按钮弹出新窗口,把需要打印的内容显示到新窗口中,在新窗口中调用window.print()方法,然后自动关闭新窗口。

     1、控制"纵打"、 横打”和“页面的边距。

    (1)
    <script defer>
    function SetPrintSettings() {
    // -- advanced features
    factory.printing.SetMarginMeasure(2) // measure margins in inches
    factory.SetPageRange(false, 1, 3) // need pages from 1 to 3
    factory.printing.printer = "HP DeskJet 870C"
    factory.printing.copies = 2
    factory.printing.collate = true
    factory.printing.paperSize = "A4"
    factory.printing.paperSource = "Manual feed"

    // -- basic features
    factory.printing.header = "This is MeadCo"
    factory.printing.footer = "Advanced Printing by ScriptX"
    factory.printing.portrait = false
    factory.printing.leftMargin = 1.0
    factory.printing.topMargin = 1.0
    factory.printing.rightMargin = 1.0
    factory.printing.bottomMargin = 1.0
    }
    </script>

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

    function printit()
    {
    if (confirm('确定打印吗?')) {
    wb.execwb(6,6)
    }
    }
    </script>
    </head>
    <body>
    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>
    <input type=button name=button_print value="打印" onclick="javascript:printit()">
    <input type=button name=button_setup value="打印页面设置" onclick="javascript:printsetup();">
    <input type=button name=button_show value="打印预览" onclick="javascript:printpreview();">
    <input type=button name=button_fh value="关闭" onclick="javascript:window.close();">

    ------------------------------------------------
    关于这个组件还有其他的用法,列举如下:
    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) 关闭窗体无提示

    2、分页打印

    <HTML>
    <HEAD>
    <STYLE>  
    P {page-break-after: always}
    </STYLE>
    </HEAD>
    <BODY>
    <%while not rs.eof%>
    <P><%=rs(0)%></P>
    <%rs.movenext%>
    <%wend%>
    </BODY>
    </HTML>

    3、ASP页面打印时如何去掉页面底部的路径和顶端的页码编号

    (1)ie的文件-〉页面设置-〉讲里面的页眉页脚里面的东西都去掉,打印就不出来了。
    (2)<HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="YC">
    <script language="VBScript">
    dim hkey_root,hkey_path,hkey_key
    hkey_root="HKEY_CURRENT_USER"
    hkey_path="/Software/Microsoft/Internet Explorer/PageSetup"
    '//设置网页打印的页眉页脚为空
    function pagesetup_null()
    on error resume next
    Set RegWsh = CreateObject("WScript.Shell")
    hkey_key="/header"  
    RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
    hkey_key="/footer"
    RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
    end function
    '//设置网页打印的页眉页脚为默认值
    function pagesetup_default()
    on error resume next
    Set RegWsh = CreateObject("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"
    end function
    </script>
    </HEAD>

    <BODY>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/><p align=center>
    <input type="button" value="清空页码" onclick=pagesetup_null()> <input type="button" value="恢复页吗"

    onclick=pagesetup_default()><br/>
    </p>
    </BODY>
    </HTML>

    4、浮动帧打印

    <SCRIPT LANGUAGE=javascript>
    function button1_onclick() {
    var odoc=windows.iframe1.document;
    var r=odoc.body.createTextRange();
    var stxt=r.htmlText;
    alert(stxt)
    var pwin=window.open("","print");
    pwin.document.write(stxt);
    pwin.print();
    }
    </SCRIPT>

    5、用FileSystem组件实现WEB应用中的本地特定打印

    <script Language=VBScript>
    function print_onclick //打印函数
    dim label
    label=document.printinfo.label.value //获得HTML页面的数据
    set objfs=CreateObject("Scripting.FileSystemObject") //创建FileSystem组件对象的实例
    set objprinter=objfs.CreateTextFile ("LPT1:",true) //建立与打印机的连接
    objprinter.Writeline("__________________________________") //输出打印的内容
    objprinter.Writeline("| |")
    objprinter.Writeline("| 您打印的数据是:"&label& " |”)
    objprinter.Writeline("| |")
    objprinter.Writeline("|_________________________________|")
    objprinter.close //断开与打印机的连接
    set objprinter=nothing
    set objfs=nothing // 关闭FileSystem组件对象
    end function
    </script>
    服务器端脚本:
    <%………
    set conn=server.CreateObject ("adodb.connection")
    conn.Open "DSN=name;UID=XXXX;PWD=XXXX;"
    set rs=server.CreateObject("adodb.recordset")
    rs.Open(“select ……”),conn,1,1
    ……….%> //与数据库进行交互
    HTML页面编码:
    <HTML>
    ………
    <FORM ID=printinfo NAME="printinfo" >
    <INPUT type="button" value="打印>>" id=print name=print > //调用打印函数
    <INPUT type=hidden id=text1 name=label value=<%=………%>> //保存服务器端传来的数据
    ………
    </HTML>

    第四种方法:去除页眉页脚

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>PcyearSeo</title>
    <head>
    <!--关键代码部分-->
    <script language="javascript" type="text/javascript">  
    function doPrint() {   
    bdhtml=window.document.body.innerHTML;   
    sprnstr="<!--startprint-->";   
    eprnstr="<!--endprint-->";   
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);   
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));   
    window.document.body.innerHTML=prnhtml;   
    window.print();
    }  
    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){}  
    }  
    </script>  
    <!--关键代码部分-->
    </HEAD>
    <BODY>
    <DIV align=center>
    <p>
        <!--关键代码部分-->
        <OBJECT   id="WebBrowser"   classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"   height="0"   width="0"   VIEWASTEXT></OBJECT>
        <!--关键代码部分-->
        您打印内容开始:
    </p>
    <p>
        <!--startprint-->
        <div style="border:1px solid #999999; auto;"><img src="2010723115926746.jpg"/></div>
        <!--endprint-->
    </p>
    <p>打印的内容结束</p>
    <p class="noprint">
        <!--class="noprint"的作用是标示不需要打印的地方,任何一个标签的class属性都可以设置,用于去除不需要打印的地方-->
        <INPUT onclick=javascript:doPrint() type=button value=打印 name=button_print /> 
    </p>
    </DIV>
    </body>
    </html>

  • 相关阅读:
    LeetCode153 Find Minimum in Rotated Sorted Array. LeetCode162 Find Peak Element
    LeetCode208 Implement Trie (Prefix Tree). LeetCode211 Add and Search Word
    LeetCode172 Factorial Trailing Zeroes. LeetCode258 Add Digits. LeetCode268 Missing Number
    LeetCode191 Number of 1 Bits. LeetCode231 Power of Two. LeetCode342 Power of Four
    LeetCode225 Implement Stack using Queues
    LeetCode150 Evaluate Reverse Polish Notation
    LeetCode125 Valid Palindrome
    LeetCode128 Longest Consecutive Sequence
    LeetCode124 Binary Tree Maximum Path Sum
    LeetCode123 Best Time to Buy and Sell Stock III
  • 原文地址:https://www.cnblogs.com/shenjun/p/3082162.html
Copyright © 2011-2022 走看看