从内置iPhone应用程序发送打印请求

时间:2010-06-04 04:06:29

标签: iphone cocoa printing

有没有办法使用wifi或其他方式向打印机发送打印请求?

编辑: 必须有,因为有一些应用程序可以让你这样做。但他们是如何做到的呢?例如,

  • HP iPrint Photo
  • Air Photo
  • EuroSmartzPrint

也许还有其他人。

3 个答案:

答案 0 :(得分:5)

Apple的SDK中没有本地打印方式。使用安装在计算机上的帮助应用程序打印Air Photo,因此它将请求发送到实际发送打印请求的桌面应用程序。 HP的应用程序可以连接到可以在网络上找到的HP打印机,大概使用Bonjour。直接打印的难点在于获得正确的驱动程序,幸运的是,HP也可以制造打印机。 EuroSmartz我相信这两种方法都有,但他们没有声称质量实际上直接打印到打印机有多好,可能是因为它们不能包含供应商提供的驱动程序。

所以,如果你想打印你的选项是:

  1. 通过Bonjour连接到打印机并尝试在没有供应商提供的驱动程序的情况下进行打印(也许您可以找到开源的驱动程序)。
  2. 编写桌面应用程序以协助打印。 (质量更好,但需要中间人。)
  3. 更新的 在iOS 4.2中,Apple推出了一项名为“AirPrint”的新技术。 Apple通过直接打印到支持ePrint的HP打印机(我的理解是它不使用传统意义上的驱动程序)和#2通过Mac OS X 10.6.5进行打印来实现#1。 / p>

答案 1 :(得分:2)

是的,您当然可以使用Bonjour和NSNetServiceBrowser课程找到附近的打印机。具体来说,您希望发送其searchForServicesOfType:消息,其类型为@“_ ipp._tcp”(附近的打印机)。查看开发人员文档中的Browsing for Services文章。打印的实际假脱机如何超出我的范围。我现在正在学习GameKit / Bonjour。

答案 2 :(得分:1)

据我所知,只有设备是作为Made For iPod程序的一部分启用Bonjour才有可能。然后,您可以使用EAAccessoryManager和相关类建立连接并将数据发送到设备。这是你可以在iPhone上尝试的难事之一......

Here's关于这个主题的另一个(也许)有用的问题。