LODOP获取打印成功,是否加入队列

2021年09月15日 阅读数:3
这篇文章主要向大家介绍LODOP获取打印成功,是否加入队列,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

以前博文介绍过获取打印机状态码 LODOP获取打印机状态码和状态码含义测试,可是打印机种类千差万别,状态码不必定准确,特别是打印成功的状态码,获取任务不在队列,能够判断打印成功,删除任务也是任务不在队列了。
本人使用过的软件很少,税务局的开票软件等均没有提示打印成功的方式,有次本身没连打印机,处于脱机状态,点了打印没有反应,一看还会没把usb接口插上,插上以后又开始打印了。javascript

我的认为能够不加判断打印成功,若是想要加,能够加个简单的,直接过去pirnt的返回值,判断是否已发送了打印的指令,发送了指令就进入了打印机队列进行排队了,这时候能够看成打印成功。至于到底是脱机了仍是缺纸了,打印机打印不出来,这因为这种状态码不一样打印机标准不必定准确,因此仍是交给用户人工排查打印机是否连上了之类的。html

简单的判断打印成功的方法:
这里用的是PRINTA,PRINTA和PRINT的区别是,PRINTA也是直接打印,可是打印前会弹出打印机选择框。
如图,混合部署仍是要写两个方法,判断为c-lodop用回调,判断为lodop插件直接返回,关于回调前面有不少博文都用到了这里再也不说明。
若是是集中打印AO打印等,用的都是直接c-lodop,(客户端本地打印角色,也可修改lodopFuncs.js里needclodop判断返回true,也能够只用c-lodop,关于使用的写法前面一些博文有介绍,如Lodop打印控件在页面如何使用)那么判断的时候就不用兼容写法了,直接用回调取返回值就好了。
代码:java

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
<script src="http://localhost:8000/CLodopFuncs.js?name=LODOPA"></script>
</head>
<body>
<a href="javascript:prn1_preview()">返回打印是否成功(成功是发送了打印指令,进入了队列算打印成功)</a><br>
<a href="javascript:prn2_preview()">只使用c-lodop的,例如集中打印AO打印等,这里用locahost测试代指</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量 
    function prn1_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_TEXT(4,62,150,40,"一个文本");
        //云打印C-Lodop返回结果用回调函数:
        if (LODOP.CVERSION) {
            CLODOP.On_Return=function(TaskID,Value){ if (Value) alert("已发出实际打印命令!"); else alert("放弃打印!"); };
            LODOP.PRINTA();
            return;
        };
        //控件返回结果用语句自己:
        if (LODOP.PRINTA()) 
           alert("已发出实际打印命令!"); 
        else 
           alert("放弃打印!"); 

    };
    function prn2_preview() {
        LODOPA.PRINT_INIT("");
        LODOPA.ADD_PRINT_TEXT(5,62,150,40,"文字");
        LODOPA.On_Return=function(TaskID,Value){ alert("打印结果:"+Value); };
        LODOPA.PRINTA();    
    };
</script> 
</body>

图示:函数