zoukankan      html  css  js  c++  java
  • LODOP设置同一个任务发送到不同打印机

    前面的博文Lodop打印语句最基本结构介绍(什么是一个任务),一个任务只能有一个打印语句(最后PRINT,PRINTA,PREVIEW等),如果执行多个,LODOP会弹出多次,C-LODOP会提示窗口已打开等,可查看本博客相关博文。

    一个任务中如果执行了两个PRINT,由于打印后lodop会自动清理前面的任务,不只是打印内容,还有打印初始化的语句等全部清理,所以连续执行两个,会导致后面的一个PRINT打出来是空白的。
    如果想一个任务中第二个也有内容,可用该语句:
    LODOP. SET_PRINT_MODE("NOCLEAR_AFTER_PRINT",true);//设置打印完毕不清理打印信息
    设置好后,可再次发送就还会保留之前打印前的信息,通过这个,可以重新设置打印机语句,第二个会按照第二个打印机进行打印,就实现了一个任务发送给两个打印机。

    正常情况下,打印完会清理打印任务,所以一个任务只能设置一次打印机,发送给一个打印机,通过该设置,可发送给多个打印机。

    发送给两个打印机,也可以设置两个任务,两个任务内容是相同的,每个任务选择不同打印机
    如果是发送一个打印机多次,直接设置份数就可以了。

    代码:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>WEB打印控件LODOP</title>
    <script language="javascript" src="LodopFuncs.js"></script>
    </head>
    <body>
    <a href="javascript:prn1()">默认清理任务后再打印(队列里第一个文档)</a><br>
    <a href="javascript:prn2()">设置不清理后,再打印(队列里第二个文档)</a><br>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量 
        function CreatePrintPage() {       
            LODOP=getLodop();         
            LODOP.PRINT_INIT("这是任务名");  
            LODOP.SET_PRINT_PAGESIZE(1,300,500,"");
            LODOP.ADD_PRINT_TEXT(37,5,100,20,"新加文本1");
            LODOP.ADD_PRINT_SHAPE(5,92,7,100,60,0,1,"#000000");
        };  
        function prn1() {//错误写法,任务完成后自动清理了打印任务,第二个空白
            LODOP=getLodop(); 
             CreatePrintPage();
             LODOP. SET_PRINTER_INDEXA("HP Color LaserJet 1600 Class Driver");//设置某个打印机
             LODOP.PRINT();//打印
             LODOP. SET_PRINTER_INDEXA("Brother Color Type3 Class Driver");//设置另一个打印机
             LODOP.PRINT();//打印
        };
        function prn2() {//正确写法,设置带你完不清理,第二个有内容。
            LODOP=getLodop(); 
             CreatePrintPage();
             LODOP. SET_PRINT_MODE("NOCLEAR_AFTER_PRINT",true);//设置打印完毕不清理打印信息
             LODOP. SET_PRINTER_INDEXA("HP Color LaserJet 1600 Class Driver");//设置某个打印机
             LODOP.PRINT();//打印
             LODOP. SET_PRINTER_INDEXA("Brother Color Type3 Class Driver");//设置另一个打印机
             //LODOP. SET_PRINTER_INDEXA("Doro PDF Writer");//设置某个pdf虚拟打印机
             LODOP.PRINT();//打印
        };
        //注意这里用的是PRINT,
        //如果是预览,设计,PIRNTA(直接打印带弹框)的,那种,c-lodop只能打开一个窗口。c-lodop会提示窗口已开单,详见其他博文
    </script> 
    </body>

    图示:

     

    由于本博客自己设置的标签杂乱,可用搜索框,花谢悦神的cnblog,右侧的搜索框,填入关键词点击搜索。

  • 相关阅读:
    子信息传递多个参数
    Oracle q' 简化单引号转义
    HTML的target属性中_blank、_self、_parent、_top含义
    数据库设计之“有时不得不违背的第三范式”
    Jquery下的Ajax调试方法
    JQuery.Ajax之错误调试帮助信息
    定时删除数据-用JOB
    数据分析
    机器学习数学基础
    机器学习数学基础
  • 原文地址:https://www.cnblogs.com/huaxie/p/11133262.html
Copyright © 2011-2022 走看看