请教各位大侠。我有一页面a1.asp 需要打印。横向,上30,左5,右5,下5,页眉、页脚为空。当用户到达a1.asp页面就自动设置上述描述。离开a1.asp就恢复默认设置。请教大侠们如何编码。谢谢

解决方案 »

  1.   

    <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT>
    </OBJECT>
    <input type=button value=打印   onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
    <input type=button value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
    <input type=button value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
    <input type=button value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">注意:
    1、CSS对打印的控制:
    <!--media=print 这个属性可以在打印时有效-->
    <style media=print>
    .Noprint{display:none;}
    .PageNext{page-break-after: always;}
    </style>Noprint样式可以使页面上的打印按钮等不出现在打印页面上,这一点非常重要,因为它可以用最少的代码完成最需要的功能PageNext样式可以设置分页,在需要分页的地方<div class="PageNext"></div>就OK了,呵呵2、表格线粗细的设置,更是通过样式表:<style>
    .tdp
    {
      border-bottom: 1 solid #000000;
      border-left: 1 solid #000000;
      border-right: 0 solid #ffffff;
      border-top: 0 solid #ffffff;
    }
    .tabp
    {
      border-color: #000000;    border-collapse:collapse;
    }
    </style>或者:<style>
    .TdCs1 {
        border:solid windowtext 1.0pt;
    }
    .TdCs2 {
        border:solid windowtext 1.0pt; border-left:none;
    }
    .TdCs3 {
        border-top:none;
        border-left:solid windowtext 1.0pt;
        border-bottom:solid windowtext 1.0pt;
          border-right:solid windowtext 1.0pt;
    }
    .TdCs4 {
        border-top:none;
        border-left:none;
        border-bottom:solid windowtext 1.0pt;
          border-right:solid windowtext 1.0pt;
    }
    .underline {
        border-top-style: none;
        border-right-style: none;
        border-bottom-style: solid;
        border-left-style: none;
        border-bottom-color: #000000;
    }
    </style>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.   

    都是需要控件来实现,JS打印直接调用的web打印系统。设置麻烦
    如果想套打 还是要用一些打印工具 比如ireport,水晶报表之类的
      

  3.   

    2楼的不要复制哈。那个我也看了。factory是啥东西。麻烦解释下。我的意思是:想自动设置页边距 上:30
                              方向:横向。请教