zoukankan      html  css  js  c++  java
  • PRINT没有返回job代码或truefalse,返回ok的一种情况

    之前也有其他客户问过,PRINT获取是否加入队列,返回的不是true或false,而是ok。
    或加上LODOP.SET_PRINT_MODE("CATCH_PRINT_STATUS", true);,返回的不是job代码,而是ok。

    之前的客户没有发代码,所以我让他们测试样例,样例右键查看源码,对照样例排查,估计这些人对照样例自己排查到了,这次有客户直接发了自己的代码,知道了为什么那些客户说返回ok的原因,是因为一个错误用法。

    原因是在任务里指定打印机语句错误,用成了设置winodws默认打印机。
    如果想有设置winodows打印机的功能,可以单独一个按钮等作为设置win默认打印机的功能。
    而在打印任务里指定打印机,则需要用指定打印机的语句,具体可参考样例7,或样例5的第2步。

    设置windows默认打印机在样例5的第7步,估计是参考样例的时候没有注意样例5的第3步的那个获取本机打印机列表,指定打印机的方法。而是误认为这个设置windows默认打印机为指定打印机。

    简短问答:

    1.为什么print返回的不是true或false,而是ok?

    参考样例4,35 http://www.c-lodop.com/demolist/PrintSample35.html
    对照样例排查下,样例右键查看源码。

    指定打印机语句是怎样指定的,是用的样例7的方式吗,SET_PRINTER_INDEX这种。

    发一下代码。
    是否用了SET_PRINT_MODE("WINDOW_DEFPRINTER", "设置windows默认打印机这种。
    如果要在任务中指定打印机,用样例7那种,例如SET_PRINTER_INDEX这种。

    2..为什么print加CATCH_PRINT_STATUS返回的不是job代码,而是ok?

    样例45 http://www.c-lodop.com/demolist/PrintSample45.html

    样例右键查看源码,对照样例排查下。

    --简短问答结束----

    测试代码:

    <script language="javascript" src="LodopFuncs.js"></script>
    </head>
    <body>
    不是正常任务选打印机(设置winodws默认打印机了):<input type="text" id="T1" size="48"><br>
    正常任务选打印机:<input type="text" id="T2" size="48"><br>
    <p><a href="javascript:MyPrint1()">任务里不是选打印机,设置windows默认打印机</a></p>
    <p><a href="javascript:MyPrint2()">任务里正确指定了打印机</a></p>
     <script language="javascript" type="text/javascript">
            var LODOP; //全局变量
            function MyPrint1() {//客户的一种错误用法,导致返回ok,设置windows默认打印机,而不是在任务内指定打印机
                LODOP = getLodop();            
                LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_获得打印状态1");
                LODOP.SET_PRINT_MODE("WINDOW_DEFPRINTER", "Microsoft XPS Document Writer");//设置windows默认打印机,
                LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印的第一页内容");
                LODOP.NEWPAGEA();
                LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印的第二页内容");
                LODOP.SET_PRINT_MODE("CATCH_PRINT_STATUS", true);
                if (LODOP.CVERSION) {
                    LODOP.On_Return = function (TaskID, Value) { document.getElementById('T1').value = Value; };              
                    LODOP.PRINT();
                    return;
                } else document.getElementById('T1').value = LODOP.PRINT();
            };
            function MyPrint2() {//正确的一种在任务中指定打印机的方法
                LODOP = getLodop();
                LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_获得打印状态1");
                LODOP.SET_PRINTER_INDEX("Microsoft XPS Document Writer");//在任务内指定打印机    
                LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印的第一页内容");
                LODOP.NEWPAGEA();
                LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印的第二页内容");
                LODOP.SET_PRINT_MODE("CATCH_PRINT_STATUS", true);
                if (LODOP.CVERSION) {
                    LODOP.On_Return = function (TaskID, Value) {document.getElementById('T2').value = Value; };           
                    LODOP.PRINT();
                    return;
                } else document.getElementById('T2').value = LODOP.PRINT();
            };
    
    
        </script>
    </body>

    图示 :

  • 相关阅读:
    bzoj2588 Count on a tree
    poco对象生成的几种方式根据你使用不同的ui决定
    airtest本地连接和远程连接
    python音频文件中pcm格式提取
    python提取视频中的音频
    如何理解快速排序的时间复杂度是O(nlogn)
    剑指 Offer 45. 把数组排成最小的数
    剑指 Offer 44. 数字序列中某一位的数字
    剑指 Offer 43. 1~n 整数中 1 出现的次数
    剑指 Offer 41. 数据流中的中位数
  • 原文地址:https://www.cnblogs.com/huaxie/p/13534736.html
Copyright © 2011-2022 走看看