深圳全飞鸿

标题: 关于网页打印标签的解决方案/NagoWeb/PrintTest [打印本页]

作者: zhgc    时间: 2021-7-18 17:03
标题: 关于网页打印标签的解决方案/NagoWeb/PrintTest
收录地址:project.syant\0002MES\delphi\MesPrint\NagoWeb\MesPrint

要求输出四种方法:
1.  ZPL的打印方式(限定为斑马打印机)
2.  BarTender的打印方式
3.  CodeSoft的打印方式
4.  无任何第三方及打印机要求的打印方式(ZXing库)




作者: zhgc    时间: 2021-7-18 17:07
本帖最后由 zhgc 于 2021-7-18 17:15 编辑

要求解决方案都有两种调用方式:

1.  Web Protocol调用方法
2.  JsonP的调用方法



Web Protocol的调用方式测试:

  1.         <div data-role="panel" id="panelprint"><small>
  2.                 <span id=mac>
  3.                 <font color=red>本机未检测到打印机信息!</font>
  4.                 <input type=button id="btload" onclick="loadprint()" value="启动打印模块!"></input>
  5.                 </span>
  6.                 <hr>
  7.                 <p><b>注意:</b><p>
  8.                 <p>1. 在打印前,可以点击<a href="PrintTest://mesprint/test">打印测试页</a>,确认打印机工作正常!</p>
  9.                 <p>2. 如果打印机正常,但不能打印,可以点击<a href="/smt/download/iqcprint.zip">下载MES打印服务</a>,按指引安装!</p>
  10.                 <p>3. 如果要中断打印任务,可以点击<a href="PrintTest://mesprint/restart">关闭MES打印服务</a>,来重启打印服务!</p>
  11.                 <p>4. 如果有打印异常,可以点击<a href="PrintTest://mesprint/show">查看MES打印任务</a>,查找异常原因!
  12.                 <a id="btstart" href="PrintTest://mesprint/start"></a></p>
  13.         </small></div>
复制代码




JsonP的调用方式测试:
  1. <!-- from app.S.inc.php tapp.printPanelPrint start -->
  2.         <script>
  3.         function queryVersion(){
  4.         jQuery.ajax({  
  5.                 url:"http://127.0.0.1:55970/jsonp/index.php?action=version",
  6.                 type:"GET",  
  7.                 dataType:"jsonp",
  8.                                 jsonp: "callback",
  9.                                 //jsonpCallback:"zz",
  10.                 success:function(data){
  11.                           var ver=data[0];
  12.                                                   if(ver<"1.0.0.1"){
  13.                                                     alert("版本"+ver+",太旧,请更新!");
  14.                                                   }else{
  15.                                                         alert("版本"+ver+",可以使用!");
  16.                                                   }
  17.                         } ,
  18.                                 error:function(xOptions, textStatus){
  19.                                         console.log(textStatus);
  20.                                 }
  21.         })
  22.         return false;
  23. }
  24. function loadprint(){
  25.                 var btstart = document.getElementById("btstart");
  26.                 if(btstart){
  27.                         btstart.click();
  28.                 }
  29.                 readPrintInfo();
  30.                 return false;
  31. }
  32. function readPrintInfo(){
  33.                         jQuery.ajax({  
  34.                 url:"http://127.0.0.1:55970/jsonp/index.php?action=get_ip_mac",
  35.                 type:"GET",  
  36.                 dataType:"jsonp",
  37.                                 jsonp: "callback",
  38.                                 //jsonpCallback:"zz",
  39.                 success:function(data){  
  40.                           $("#mac").html("<small><b>本机信息:</b><br>MAC地址:&nbsp;<font color=red>"+data[1]+"</font><br>IP地址:&nbsp;<font color=red>"+data[0]+"</font><br>打印机:&nbsp;<font color=red>"+data[2]+"</font><br>版本:&nbsp;<font color=red>"+data[3]+"</font></small>");
  41.                         } ,
  42.                                 error:function(xOptions, textStatus){
  43.                                         //console.log(textStatus);
  44.                                 }
  45.                         })       
  46.         }
  47.         $(function(){
  48.                 readPrintInfo();
  49.         });
  50. //-->
  51. </SCRIPT>
复制代码



作者: zhgc    时间: 2021-7-18 21:31








作者: zhgc    时间: 2021-7-18 21:32
  1. <html>
  2.         <head>
  3.                 <title>nagoweb function test by syant</title>
  4.                 <script src="jquery-1.11.1.min.js"></script>
  5.                  
  6.                 <!-- from app.S.inc.php tapp.printPanelPrint start -->
  7.                 <script>
  8.                 function queryVersion(){
  9.                                                 jQuery.ajax({  
  10.                                                                                 url:"http://127.0.0.1:55970/jsonp/index.php?action=version",
  11.                                                                                 type:"GET",  
  12.                                                                                 dataType:"jsonp",
  13.                                                                                                                                                 jsonp: "callback",
  14.                                                                                                                                                 //jsonpCallback:"zz",
  15.                                                                                 success:function(data){
  16.                                                                                                                         var ver=data[0];
  17.                                                                                                                                                                                                                         if(ver<"1.0.0.1"){
  18.                                                                                                                                                                                                                                 alert("版本"+ver+",太旧,请更新!");
  19.                                                                                                                                                                                                                         }else{
  20.                                                                                                                                                                                                                                                 alert("版本"+ver+",可以使用!");
  21.                                                                                                                                                                                                                         }
  22.                                                                                                                 } ,
  23.                                                                                                                                                 error:function(xOptions, textStatus){
  24.                                                                                                                                                                                 console.log(textStatus);
  25.                                                                                                                                                 }
  26.                                                 })
  27.                                                 return false;
  28.                 }
  29.                 function loadprint(){
  30.                                                                                 var btstart = document.getElementById("btstart");
  31.                                                                                 if(btstart){
  32.                                                                                                                 btstart.click();
  33.                                                                                 }
  34.                                                                                 readPrintInfo();
  35.                                                                                 return false;
  36.                 }
  37.                 function readPrintInfo(){
  38.                                                                                                                 jQuery.ajax({  
  39.                                                                                 url:"http://127.0.0.1:55970/jsonp/index.php?action=get_ip_mac",
  40.                                                                                 type:"GET",  
  41.                                                                                 dataType:"jsonp",
  42.                                                                                                                                                 jsonp: "callback",
  43.                                                                                                                                                 //jsonpCallback:"zz",
  44.                                                                                 success:function(data){  
  45.                                                                                                                         $("#mac").html("<small><b>本机信息:</b><br>MAC地址:&nbsp;<font color=red>"+data[1]+"</font><br>IP地址:&nbsp;<font color=red>"+data[0]+"</font><br>打印机:&nbsp;<font color=red>"+data[2]+"</font><br>版本:&nbsp;<font color=red>"+data[3]+"</font></small>");
  46.                                                                                                                 } ,
  47.                                                                                                                                                 error:function(xOptions, textStatus){
  48.                                                                                                                                                                                 //console.log(textStatus);
  49.                                                                                                                                                 }
  50.                                                                                                                 })        
  51.                                                 }
  52.                                                 $(function(){
  53.                                                                                 readPrintInfo();
  54.                                                 });
  55.                 //-->
  56.                 </SCRIPT>
  57.         </head>
  58.         <body>
  59.                 <b><small>nago web print - function test by syant!</b></small>
  60.                 <hr>
  61.                 <div data-role="panel" id="panelprint"><small>
  62.                                                                                 <span id=mac>
  63.                                                                                 <font color=red>本机未检测到打印机信息!</font>
  64.                                                                                 <input type=button id="btload" onclick="loadprint()" value="启动打印模块!"></input>
  65.                                                                                 </span>
  66.                                                                                 <hr>
  67.                                                                                 <p><b>注意:</b><p>
  68.                                                                                 <p>1. 在打印前,可以点击<a href="PrintTest://mesprint/test">打印测试页</a>,确认打印机工作正常!</p>
  69.                                                                                 <p>2. 如果打印机正常,但不能打印,可以点击<a href="/smt/download/iqcprint.zip">下载MES打印服务</a>,按指引安装!</p>
  70.                                                                                 <p>3. 如果要中断打印任务,可以点击<a href="PrintTest://mesprint/restart">关闭MES打印服务</a>,来重启打印服务!</p>
  71.                                                                                 <p>4. 如果有打印异常,可以点击<a href="PrintTest://mesprint/show">查看MES打印任务</a>,查找异常原因!
  72.                                                                                 <a id="btstart" href="PrintTest://mesprint/start"></a></p>
  73.                                                                                 <p>5. 传递中文打印测试,可以点击<a href="PrintTest://mesprint/trsn?json=eyJ0cl9zbiI6IkQyMTA3MTQwMDAxIiwia3Bfbm8iOiJTWUFOVC5LUC5URVNUIiwibWZyX2twIjoiU1lBTlQuS1AuTUZSIiwia3BfZGVzYyI6ImtwIGRlc2MgaGF2ZSDkuK3mlocgaW4iLCJkYXRlX2NvZGUiOiIyMTA3IiwibG90X2NvZGUiOiIyMTA3QUJDREVGIiwicXR5IjoxMDAwLCJjb21wYW55IjoiICBTS1lMSUdIVCAgIiwicHJpbnRfdHlwZSI6MSwidGljayI6MTI3NDcxMjJ9">打印中文测试</a>!</p>
  74.                 </small></div>
  75.                
  76.                
  77.                
  78.         </body>
  79. </html>
复制代码

作者: zhgc    时间: 2021-9-30 18:35
本帖最后由 zhgc 于 2021-9-30 19:25 编辑

2021/09/30针对该功能做次盘点

当前最新版在越南naise厂实际使用





  formCodeSoft.PAddSendListBox('COMPANY','中国');
  formCodeSoft.PAddSendListBox('DC',AnsiToUtf8('中国'));
  formCodeSoft.PAddSendListBox('KP',UnicodeEncode('你好',936));
  formCodeSoft.PAddSendListBox('LC',lot_code);


越南的英文系统实际测试:
结论:UnicodeEncode('你好',936)有效果!







欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) Powered by Discuz! X3.2