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