【问题标题】:How iOS detects network printer automaticallyiOS 如何自动检测网络打印机
【发布时间】:2018-08-26 02:13:46
【问题描述】:

POS 系统大多可以自动检测热敏打印机,据我所知,在 ios 上安装的应用程序只有两种方法可以做到这一点,要么将其伪装成 Airprint,要么使用 IPP 协议。由于对于那些应用程序来说,您的打印机应该位于相同的网络和子网配置上并且 Airprint 不支持热敏打印机,因此我相信这可能是他们正在使用的选择。但我的问题是,如果他们都在这样做,是否还有另一种方式?如果不是 ipad(iOS) 上的应用程序如何检测这些打印机而不需要安装特定的驱动程序?如果有人可以帮助我,那就太好了!

【问题讨论】:

  • AirPrint 基本上是基于Bonjour
  • 你的问题到底是什么?
  • @IPPGeek 问题是我怎样才能为 iOS 编写一个应用程序,以便可以检测不在 Airprint 打印机列表中的打印机(大多数热敏打印机),并且以 iOS 可以检测到的方式打印机无需任何安装。例如 square、vend 等应用程序如何在通过 USB 或通过 LAN 网络连接到 iPad 时检测热敏打印机?
  • 为了检测非 AirPrint 打印机,您需要检查打印机是否支持发现以及它支持哪种发现。有很多选择。您尝试连接的打印机支持哪种发现方法?
  • @Maulik,技术规范的网络部分应包括支持的发现协议,例如Bonjour、ZeroConf、mDNS、SNMP 或 WS 发现。如今,制造商倾向于宣传 AirPrint 和 Mopria 等协议。两种协议都基于 IPP,但打印机规格并不总是额外列出 IPP。 AirPrint 和 Mopria 也需要支持 mDNS/Bonjour 等发现协议。 Bonjour 得到广泛支持并且早于 AirPrint。您可以使用工具来检查支持的发现协议,例如ippfind, dns-sd -Z _ipp._tcp, 发现 DNS SD 浏览器 (Mac AppStore)

标签: ios point-of-sale thermal-printer airprint ipp-protocol


【解决方案1】:

要从 iOS 打印到打印机,您可以使用 AirPrint APIAirPrint enabled printers,或者您可以在自己的应用程序中实现打印机的协议和 PDL。

一些解决方案包括第三个中间件(如组件),以填补移动应用与实际设备之间的空白。这不是一种优雅的方式,但似乎适用于某些用例。

整个过程实际上包含两个步骤:发现(如设置)和实际打印(如发送文档)。使用 AirPrint,您可以查看 the documentation 以了解 Bonjour aka ZeroConf 的工作原理。

【讨论】:

    猜你喜欢
    • 2012-11-02
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多