网页应用,如何打印小票? window.print 总是弹出打印对话框 ,我想不弹直接打印,使用默认打印机。
不要推荐收费的,用不起,最好是免费的方案
1
gamexg 2017-10-26 13:14:47 +08:00 1
没做过,但是你除非上插件,不然浏览器为了安全不会允许无提示直接打印。
安装控件还不如打印时弹个提示对用户体验好。 |
2
timothyye 2017-10-26 13:41:36 +08:00 1
我们之前做过一个实现 web 打印小票的功能,提供一下思路:
其实还是给客户端装了个 agent 软件,这个 agent 软件,提供 REST API,这个客户端程序可以通过机器 USB 连接的小票打印机打印小票。 然后 web 里面,js 直接 POST JSON 给 agent 软件,发送要打印的数据,需要解决跨域的限制。 |
3
shoaly 2017-10-26 13:45:41 +08:00 1
买那种支持网线连接的小票机
然后通讯可以直接通过 js 的 websocket. 通讯协议都是 ESC/POS 打印命令集的字节数组 |
4
timothyye 2017-10-26 14:13:23 +08:00 1
还有一种,买支持云端推送的小票打印机,调他们的 API 就行了
小票打印机 wifi 联网 |
5
binsys 2017-10-26 15:57:43 +08:00 1
1. 最好的方案是买支持云端 API 的小票打印机,比如易联云,但要花硬件成本。
2. 客户端安装 agent,chrome 浏览器使用 Chrome Native Messaging 技术把消息给 agent (还要开发 chrome 插件并发布到 google play,成本也不小) 3. IE 之类的直接 ActiveX,有个签名问题,也不便宜。 综合起来买个云打印机最便宜了。 如果你必须利用现有 USB 打印机,那么只能开发 agent,用 IE 的 ActiveX 和 chrome 的 native message,技术成本不小。 如果必须利用或者有蓝牙打印机(或局域网打印机),也可以开发手机 APP 链接蓝牙打印机,打印数据发给服务器 API,服务器通知手机有打印任务,手机把数据发给蓝牙打印机。 |
6
110male OP 总之一句话,就是要客户端或者 ActiveX.
没有现成的免费的可以用的? |
7
letitbesqzr 2017-10-26 22:11:47 +08:00 1
lodop。。一两百元永久,真用不起?
|
8
binsys 2017-10-27 23:10:01 +08:00
@letitbesqzr 可能对此问题不太适用
打印小票一般都是热敏,热敏打印机一般都是指令集方式,打印方式一般是 RAW. |
9
letitbesqzr 2017-10-27 23:39:48 +08:00
@binsys 啊? 应该支持吧,我们用 lodop 做过打印小票 发票 也用过热敏的,没问题啊
|