没人知道么?有没有免费的控件?我查到好几个好像都是要收费的,如ScriptX.
我在msdn上看到微软说这些功能在ScriptX ActiveX中都已经包含,但msdn中却查不到有关ScriptX的东东,却查到其他公司的产品也有叫ScriptX的,不知是怎么回事

解决方案 »

  1.   

    <script>
    //控制纵打,横打和页面的边距
    function SetPrintSet()

    factory.printing.SetMarginMeasure(2);
    factory.SetPageRange(false,1,3);
    factory.printing.printer="HP DeskJet 870C"
    factory.printing.copies=2;
    factory.printing.collate=true;
    factory.printing.paperSize="A4";
    factory.printing.paperSource="Manual feed"; 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>
    <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="打印" 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)//关闭窗体无提示
    //分页打印 
    打印时如何去掉页面底部的路径和顶端的页码编号 
    <script>
    var 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,"";
    }
    //设置网页打印的页眉页脚为默认值
    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";
    }
    </script> 
    <input type="button" value="清空页码" onclick=pagesetup_null()>
    <input type="button" value="恢复页吗" onclick=pagesetup_default()>
    //浮动帧打印
    <SCRIPT LANGUAGE=javascript>
    function button1_onclick()
    {
    var odoc=window.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> 
    //用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组件对象
    }
    </script>
    <form ID=printinfo name="printinfo" > 
    <input type="button" value="打印>>" id=print name=print>//调用打印函数
    <input type=hidden id=text1 name=label value="">//保存服务器端传来的数据
      

  2.   

    to  caaclxf:
     那个factory是什么啊,没有定义没法使用啊?是不是ScriptX?这个控件好像是收费的啊。我现在最需要实现的就是想设置横向纵向打印,有什么办法吗?
      

  3.   

    只能用activex,那个收费的可能是不错的。否则纯粹的脚本是没法解决这个问题的。