JS实现联调打印机打印PDF

JS实现联调打印机打印PDF

       最近在完成一个功能需求的时候,需要将快递面单打印出来,但是快递面单是存储在后端,后端语言是PHP,想要将面单打印出来,只能通过前端去后端拉PDF面单,然后通过JS联调本地打印机打印出来,在这里感谢部门老大的助攻,按照这个思路,最终实现这个功能,实现过程就是安装一个插件(会启动一个websocket服务),然后在页面调用本地的 websocket 发起打印服务,在这里跟大家分享这个JS扩展。代码也是简单就可以调用,详细可以访问:WebApp Hardware Bridge,以下是请求简单代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试打印</title>
</head>
<body>
<button onclick="printOrder()">测试打印</button>
</body>
<script src="jquery.min.js" type="application/javascript"></script>
<script src="websocket-printer.js" type="application/javascript"></script>
<script>
//初始化连接对象
var printService = new WebSocketPrinter();
function printOrder(){
  //API地址
  var apiUrl='/sfOrderCallBack';
 //调试打印
 $.ajax({
   method: 'get',
   url: apiUrl,
   data: {},
   success: function (res) {
     if(res["code"]==200){
       //弹窗提醒
       alert('扫描设备成功,请等待打印机出单!');
       //打印面单
       printService.submit({
         'type': 'INVOICE',
         'url': 'file.pdf',
         'file_content': res["msg"]
       });
     }else{
       //弹窗提醒
       alert(res["msg"]);
     }
    }
  });
}
</script>
</html>

这样就可以成功通过前端去后端拉PDF文件,然后调用本地打印机进行打印。

0条评论

发表评论