首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持非AirPrint的iOS打印机

支持非AirPrint的iOS打印机
EN

Stack Overflow用户
提问于 2015-07-24 12:19:47
回答 2查看 1.8K关注 0票数 1

对于不启用AirPrint的打印机,苹果公司在内置的API中没有任何API。我了解到我们可以将WiFi模块添加到打印机中。所以我的问题是:

  • 如果我将WiFi模块添加到打印机中,它会启用AirPrint吗?
  • 如果不是:非启用AirPrint的打印机可以通过其他方式使AirPrint启用吗?
  • 如果我得到一个不启用AirPrint的打印机,是否可以从iPad连接到它?
  • 如果是的话,我应该使用什么协议?
  • 这上面有开源库吗?

我找到了以下一个:https://github.com/opentable/star-printing

但是,从文档中我无法理解:它是否仅适用于启用AirPrint的打印机?

下面是我用iPad连接桌面打印机的方法。

  1. 启用WIFI
  2. 蓝牙启用
  3. Bonjour启用打印机
  4. 联网打印机(具有与iPad相同ip段的打印机)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-27 22:08:43

试着回答你所有的问题:

  • If I add a wifi module, will my printer be AirPrint enabled?
  • Can a non-AirPrint printer be made into an AirPrint printer?

不是的。您需要一台AirPrint兼容打印机,简单地使它在WiFi上可用并不能使它成为AirPrint打印机,而且您也不能更改设备使其成为AirPrint打印机。

  • If not, can I still use it?

是。但是,它将要求您直接打开与打印机的连接(通过套接字)并以这种方式发送数据。这其实并不难做。可能有一些库可用,但我没有具体尝试。假设您已经拥有PCL数据,打开端口并发送数据blob的代码非常简单。

  • Can I connect to a WiFi printer?

是的,如前所述。

  • ... Bluetooth?

是的,但只在MFi (为iOS制作)打印机上。

  • ... Bonjour

是的,通过内置打印对话框。

  • ... Networked

这可能与WiFi打印相同,但我还没有尝试过。

希望这有帮助,如果我能澄清什么,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2016-07-03 19:26:36

假设..。

  • 你有一个运行OS的Mac(Book),
  • 这个Mac的主机名是mymac
  • 它的IP地址是192.168.111.111
  • 它安装了一个名为abcd的共享打印机(不需要支持AirPrint!)
  • 打印机共享不需要身份验证(将DefaultAuthType none放入/etc/cups/cupsd.conf),

...then您可以让计算机充当abcd队列的AirPrint网关,以供iOS客户端使用。

要测试这一点,只需在Terminal.app窗口中执行以下命令(注意,该命令不会返回--如果关闭Terminal.app窗口,则该命令的效果将消失!)

代码语言:javascript
复制
 dns-sd                 \
   -P AirPrint-abcd     \
   _ipp._tcp,_universal \
   local.               \
   631                  \
   mymac.local.         \
   192.168.111.111      \
         pdl="application/pdf,image/urf"    \
         kind="document"                    \
         priority="1"                       \
         product="Model Name of my Printer" \
         rp="printers/abcd"                 \
         URF="DM3"                          \
         Duplex="T"                         \
         Color="T"                          \
         note="Testing AirPrint via MacBook"\
         txtvers="1"                        \
         qtotal="1"                         \
         printer-type="0x0480FFFC"          \
         printer-state="3"                  \
         air="none"                         \
         UUID="54321abc-1234-1234-abcd-1238e4bdcbf8"

您可以想出一个脚本或cron作业,在每次启动Mac时在后台执行这个命令。这是留给读者的练习。

此外,如果第一个Mac提供共享打印队列,上面的所有细节都与第一个Mac的设置相匹配,则可以在同一网络上不改变第二个完全不同的Mac运行相同的命令。

背景信息:

dns-sd命令行实用程序是一个测试和开发工具,每个人都可以访问Bonjour、mDNS (多播DNS)和DNS-SD (基于DNS的服务发现)。

-P参数dns-sd将向您的本地LAN/WLAN发出一个Bonjour“代理公告”。该公告将告诉潜在的AirPrint客户端以下信息:

  • 在您的AirPrint域中有一个.local.设备可用。
  • 它的名字是Airprint-abcd
  • 它可以通过IP地址192.168.111.111和端口631来实现。
  • 使用printers/abcd的打印队列名对其进行打印。
  • 它可以使用PDF和URF光栅文件。
  • 它不需要认证。
  • 它可以输出双工和彩色文档。

有关此实用程序的详细信息,请参阅man dns-sd。有关更多背景信息,请参见dns-sd.org我对类似问题的其他回答

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31610414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档