对于不启用AirPrint的打印机,苹果公司在内置的API中没有任何API。我了解到我们可以将WiFi模块添加到打印机中。所以我的问题是:
我找到了以下一个:https://github.com/opentable/star-printing。
但是,从文档中我无法理解:它是否仅适用于启用AirPrint的打印机?
下面是我用iPad连接桌面打印机的方法。
发布于 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打印相同,但我还没有尝试过。
希望这有帮助,如果我能澄清什么,请告诉我。
发布于 2016-07-03 19:26:36
假设..。
mymac,192.168.111.111,abcd的共享打印机(不需要支持AirPrint!)DefaultAuthType none放入/etc/cups/cupsd.conf),...then您可以让计算机充当abcd队列的AirPrint网关,以供iOS客户端使用。
要测试这一点,只需在Terminal.app窗口中执行以下命令(注意,该命令不会返回--如果关闭Terminal.app窗口,则该命令的效果将消失!)
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客户端以下信息:
.local.设备可用。Airprint-abcd。192.168.111.111和端口631来实现。printers/abcd的打印队列名对其进行打印。有关此实用程序的详细信息,请参阅man dns-sd。有关更多背景信息,请参见dns-sd.org和我对类似问题的其他回答。
https://stackoverflow.com/questions/31610414
复制相似问题