• 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>

  • 相关阅读:
    div中子div在firefox ie 水平居中对齐
    Access数据库自定义连接字符串(详细有图百度文档)
    ASP页面乱码
    国内开源asp.netCMS汇总
    sql 2005
    卡巴斯基授权key导入方式方法及其导入key基本原理
    关于SqlServer服务无法启动的症状分析和解决方法
    js下流媒体的在线播放
    用JS+vml作三维报表
    了解嵌入式数据库(sqlite,firebird)
  • 原文地址:https://www.cnblogs.com/shenjun/p/3082162.html
Copyright © 2020-2023  润新知