V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
110male
V2EX  ›  问与答

web 如何打印小票

  •  
  •   110male · 2017-10-26 12:55:39 +08:00 · 4274 次点击
    这是一个创建于 2586 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网页应用,如何打印小票? window.print 总是弹出打印对话框 ,我想不弹直接打印,使用默认打印机。

    不要推荐收费的,用不起,最好是免费的方案

    9 条回复    2017-10-27 23:39:48 +08:00
    gamexg
        1
    gamexg  
       2017-10-26 13:14:47 +08:00   ❤️ 1
    没做过,但是你除非上插件,不然浏览器为了安全不会允许无提示直接打印。
    安装控件还不如打印时弹个提示对用户体验好。
    timothyye
        2
    timothyye  
       2017-10-26 13:41:36 +08:00   ❤️ 1
    我们之前做过一个实现 web 打印小票的功能,提供一下思路:

    其实还是给客户端装了个 agent 软件,这个 agent 软件,提供 REST API,这个客户端程序可以通过机器 USB 连接的小票打印机打印小票。
    然后 web 里面,js 直接 POST JSON 给 agent 软件,发送要打印的数据,需要解决跨域的限制。
    shoaly
        3
    shoaly  
       2017-10-26 13:45:41 +08:00   ❤️ 1
    买那种支持网线连接的小票机
    然后通讯可以直接通过 js 的 websocket.
    通讯协议都是 ESC/POS 打印命令集的字节数组
    timothyye
        4
    timothyye  
       2017-10-26 14:13:23 +08:00   ❤️ 1
    还有一种,买支持云端推送的小票打印机,调他们的 API 就行了
    小票打印机 wifi 联网
    binsys
        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,服务器通知手机有打印任务,手机把数据发给蓝牙打印机。
    110male
        6
    110male  
    OP
       2017-10-26 20:21:43 +08:00
    总之一句话,就是要客户端或者 ActiveX.
    没有现成的免费的可以用的?
    letitbesqzr
        7
    letitbesqzr  
       2017-10-26 22:11:47 +08:00   ❤️ 1
    lodop。。一两百元永久,真用不起?
    binsys
        8
    binsys  
       2017-10-27 23:10:01 +08:00
    @letitbesqzr 可能对此问题不太适用
    打印小票一般都是热敏,热敏打印机一般都是指令集方式,打印方式一般是 RAW.
    letitbesqzr
        9
    letitbesqzr  
       2017-10-27 23:39:48 +08:00
    @binsys 啊? 应该支持吧,我们用 lodop 做过打印小票 发票 也用过热敏的,没问题啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2890 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:31 · PVG 20:31 · LAX 04:31 · JFK 07:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.