首页 > 其他 > 详细

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

时间:2020-01-06 16:59:14      阅读:93      评论:0      收藏:0      [点我收藏+]

直接打印的时候,可以通过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>

图示:

技术分享图片

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

原文:https://www.cnblogs.com/huaxie/p/12133664.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!