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

打印机 api 开源或者二开

  •  
  •   rozbo · 2022-12-03 15:16:19 +08:00 · 1429 次点击
    这是一个创建于 728 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近闲着没事干,想给朋友的小店搞个下单审核通过后一键打印的功能。 现在有很多做好的方案,比如易联云等,但这类打印机都有一个问题,就是要走他们的服务端,而由于涉及到隐私,把客户的信息泄漏给第三方显然是完全不合理的,所以,有没有可能的替代方案?

    • 这类打印机有没有可能本地化部署?
    • 如果不能本地化部署,有没有提供 sdk ,不使用他们云端,我自己写个服务端?
    • 如果以上都不行,有没有什么其他奇思妙想能够实现此类需求?

    直接用电脑链接普通打印机然后调用打印机驱动来打印是可行的,但是这样功耗比较高,优化一点就是使用 nas/树莓派 来调度,但这样缺点是部署不易且无法实现云端。

    或者通过抓包分析打印机与服务端的通信协议也可以考虑,但是考虑到 tls 的问题,由于打印机的指令集不是很了解( x86 arm 系列还好)且不一定能提取到系统,所以就不大好做 mitm ,那么问题来了,由于一款打印机与服务端通信是基于 ws/http/tcp 的(即不含 tls 方便分析通讯协议)这样也有可能劫持他自己做个三方服务端来实现。。

    写到这里,我觉得是不是我想复杂了,你们怎么做的呢?你们就不担心客户信息泄露吗

    4 条回复    2022-12-03 21:23:48 +08:00
    44670
        1
    44670  
       2022-12-03 18:04:54 +08:00
    可以考虑玩这种热敏打印模块: https://www.adafruit.com/product/597
    Puteulanus
        2
    Puteulanus  
       2022-12-03 18:23:05 +08:00   ❤️ 1
    搞个树莓派不是才容易实现云端吗,openwrt 之类的打印服务器应该都有轮子了,写个连接你服务的轮询,或者用内网穿透 /组网之类的跟服务器直接连起来

    劫持现有打印机的请求不也得有个劫持的设备。。
    lmmortal
        3
    lmmortal  
       2022-12-03 19:08:19 +08:00
    楼上说的应该是基于 CUPS 的,这套系统对热敏打印的支持很差,尤其是国内很多低价的不知名品牌打印机,这些打印机都没有 Linux 驱动。我建议还是在 Windows 下面搞,你可以了解一下 bartender ,它有.Net SDK 可供调用,同时 bartender 的开发商网站上也有对很多打印机的支持驱动,打印机自身官网一般也有驱动
    ZXCDFGTYU
        4
    ZXCDFGTYU  
       2022-12-03 21:23:48 +08:00
    我个人用的惠普打印机( ns1005w )是支持但不仅限于 ipp 标准协议的,可以自己基于这个去封装自己的业务逻辑实现。客户端->你的业务模块->打印机,客户端与你业务模块通过 http/tcp 通信,业务模块通过构建的 ipp 协议与设备通信。之前我曾经想做过类似的东西,都搞清楚实现方法了,就是因为各种原因没继续去做。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2699 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:58 · PVG 19:58 · LAX 03:58 · JFK 06:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.