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

    图示 :

  • 相关阅读:
    加速 gradle 打包速度 !!
    坑爹的希腊字母 ο
    09 你这导师太假了,不如换个学术大佬 !
    导师不敢和你说的水论文隐藏技巧,只教你水论文
    12 水论文如何吹一个好故事
    07 导师不敢和你说的水论文隐藏技巧,毕业论文,小论文和综述的区别,三者怎么进行换汤不换药转换
    04 导师不敢和你说的水论文隐藏技巧,论文模型需不需要继承
    从Python到水一篇AI论文(核心 or Sci三区+)(目录)
    05 导师不敢和你说的水论文隐藏技巧,没有继承且无法复现论文模型怎么办?如何做一个好的学术裁缝
    06 导师不敢和你说的水论文隐藏技巧,顶刊、顶会、水刊的论文读哪个,如何做一个称职的学术裁缝.md
  • 原文地址:https://www.cnblogs.com/huaxie/p/13534736.html
Copyright © 2020-2023  润新知