网页应用,如何打印小票? window.print 总是弹出打印对话框 ,我想不弹直接打印,使用默认打印机。
不要推荐收费的,用不起,最好是免费的方案
1
gamexg Oct 26, 2017 没做过,但是你除非上插件,不然浏览器为了安全不会允许无提示直接打印。
安装控件还不如打印时弹个提示对用户体验好。 |
2
timothyye Oct 26, 2017 我们之前做过一个实现 web 打印小票的功能,提供一下思路:
其实还是给客户端装了个 agent 软件,这个 agent 软件,提供 REST API,这个客户端程序可以通过机器 USB 连接的小票打印机打印小票。 然后 web 里面,js 直接 POST JSON 给 agent 软件,发送要打印的数据,需要解决跨域的限制。 |
3
shoaly Oct 26, 2017 买那种支持网线连接的小票机
然后通讯可以直接通过 js 的 websocket. 通讯协议都是 ESC/POS 打印命令集的字节数组 |
4
timothyye Oct 26, 2017 还有一种,买支持云端推送的小票打印机,调他们的 API 就行了
小票打印机 wifi 联网 |
5
binsys Oct 26, 2017 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 Oct 26, 2017 lodop。。一两百元永久,真用不起?
|
8
binsys Oct 27, 2017
@letitbesqzr 可能对此问题不太适用
打印小票一般都是热敏,热敏打印机一般都是指令集方式,打印方式一般是 RAW. |
9
letitbesqzr Oct 27, 2017
@binsys 啊? 应该支持吧,我们用 lodop 做过打印小票 发票 也用过热敏的,没问题啊
|