LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

为什么Lodop的PRINT没有返回job代码或truefalse,返回ok的一种情况

admin
2023年9月25日 22:37 本文热度 424

之前也有其他客户问过,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>

图示 :


该文章在 2023/9/25 22:37:24 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved