LODOP獲取打印成功,是否加入隊列


之前博文介紹過獲取打印機狀態碼 LODOP獲取打印機狀態碼和狀態碼含義測試,但是打印機種類千差萬別,狀態碼不一定准確,特別是打印成功的狀態碼,獲取任務不在隊列,可以判斷打印成功,刪除任務也是任務不在隊列了。
本人使用過的軟件不多,稅務局的開票軟件等均沒有提示打印成功的方式,有次自己沒連打印機,處於脫機狀態,點了打印沒有反應,一看還會沒把usb接口插上,插上之后又開始打印了。

個人認為可以不加判斷打印成功,如果想要加,可以加個簡單的,直接過去pirnt的返回值,判斷是否已發送了打印的指令,發送了指令就進入了打印機隊列進行排隊了,這時候可以當作打印成功。至於究竟是脫機了還是缺紙了,打印機打印不出來,這由於這種狀態碼不同打印機標准不一定准確,所以還是交給用戶人工排查打印機是否連上了之類的。

簡單的判斷打印成功的方法:
這里用的是PRINTA,PRINTA和PRINT的區別是,PRINTA也是直接打印,但是打印前會彈出打印機選擇框。
如圖,混合部署還是要寫兩個方法,判斷為c-lodop用回調,判斷為lodop插件直接返回,關於回調前面有很多博文都用到了這里不再說明。
如果是集中打印AO打印等,用的都是直接c-lodop,(客戶端本地打印角色,也可修改lodopFuncs.js里needclodop判斷返回true,也可以只用c-lodop,關於使用的寫法前面一些博文有介紹,如Lodop打印控件在頁面如何使用)那么判斷的時候就不用兼容寫法了,直接用回調取返回值就行了。
代碼:

<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>

圖示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM