• LODOP批量打印判断是否加入队列1


    直接打印的时候,可以通过PRINT或PRINTA的返回值判断是否加入队列,加入队列算成功。
    之前的博文:c-lodop回调函数简短问答及相关博文
    判断直接打印返回值是一个任务的,如果是c-lodop批量打印,则需要LODOP.On_Return_Remain=true;将回调结果保留,c-lodop任务可通过TaskID区分。
    如果是lodop批量打印,由于lodop是插件,可直接返回,是同步的,可以直接用循环的变量作为任务的区分。

    由于c-lodop是用的回调函数,可以在回调里面通过任务名id进行区分。
    如下面的测试的log,在测试代码里注释掉了,在三个位置(用ABC区分)加了log日志输出i,结果如图,在回调里的i都是5,在回调外的i都是随着循环进行实时变化。

    如代码和图示,c-lodop可以直接用taskid区分,lodop可以用实时变量等区分。

    c-lodop的任务编号最后一位是从1开始的,也可以直观的看出是第几个任务。
    lodop中直接用的变量i,所以是0-4这种索引,如果想改成自然数,循环时可以从1开始,循环到小于6也可以。

    测试代码:

    <script language="javascript" src="LodopFuncs.js"></script>
    </head>
    <body>
    <a href="javascript:print1()">测试print1</a><br>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量 
        function creatpage(Tn){
            LODOP.PRINT_INIT(""); 
    //        LODOP.SET_PRINTER_INDEX("Brother Color Type3 Class Driver");
            LODOP.SET_PRINTER_INDEX("Microsoft XPS Document Writer");
            LODOP.SET_PRINT_PAGESIZE(1,300,500,"");
            LODOP.ADD_PRINT_TEXT(18,7,105,20,Tn);
            LODOP.ADD_PRINT_RECT(58,5,100,60,0,1);
            };
        function print1(){
        LODOP=getLodop(); 
        for(i=0;i<5;i++)
        {
    //     console.log("A位置的"+i);
         creatpage(""+i+"个的文本内容");
            if (LODOP.CVERSION) {
                LODOP.On_Return_Remain=true;
                LODOP.On_Return=function(TaskID,Value){ 
                if (Value) 
                {//console.log("B位置的"+i);
                console.log("c第"+TaskID+"个任务成功"+Value);}
                else console.log("c第"+TaskID+"个任务失败"+Value);};
                LODOP.PRINT();
    //            console.log("C位置的"+i);
            };
            if (!LODOP.CVERSION)
            {if (LODOP.PRINT())
               console.log("L第"+i+"个任务成功");
            else 
               console.log("L第"+i+"个任务失败");}
        }    
    };
    </script> 
    </body>

    图示:

  • 相关阅读:
    luogu P1019 单词接龙
    luogu P4137 Rmq Problem / mex
    Virtualbox 修改硬盘的序列号等信息 例
    httpHandlers path="*.sky"
    Oracle告Google输了
    %STSADM% -o addsolution -filename AEMediaPlayerWebpart.wsp
    placeholder
    String强制转换为Date,freemarker标签里date数据的显示问题
    eclipse配置JDK和设置编译版本的几种方法
    httpd 系统错误 无法启动此程序,因为计算机中丢失VCRUNTIME140.dll
  • 原文地址:https://www.cnblogs.com/huaxie/p/12133664.html
Copyright © 2020-2023  润新知