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

    图示:

  • 相关阅读:
    python 批量文件重命名
    python 各种转义字符
    python 生成器
    python 迭代器 itertools模块中常用工具函数
    python 内建迭代函数 iter()
    python 迭代器
    python 常用标准库简介
    python 包及其文件的调用
    python 导入模块或函数
    python 手工抛出异常
  • 原文地址:https://www.cnblogs.com/huaxie/p/10789338.html
Copyright © 2020-2023  润新知