PHP
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条评论