我目前正在开发一个iOS应用程序,可以直接使用HP Sprocket打印机进行打印,但是我不得不保留必须发送到打印机的蓝牙数据。
在阅读了一些论坛后,我进行了一些测试,可以通过使用蓝牙将jpeg(或png)文件直接发送到打印机来进行打印。
我在Windows 10计算机上进行了测试,并在任务栏中的蓝牙图标中使用了Send file
选项。
我得出结论,发送带有蓝牙的文件必须存在一个标准。
我的手机和应用正确与打印机配对,但是当我将编码的jpeg文件发送到打印机时,什么也没发生(没有打印,没有错误代码,没有蓝牙返回)...
我使用以下代码对图片进行编码:
let imageData = UIImageJPEGRepresentation(myUIImage, 1.0)
并使用iOS ExternalAccessory框架将其发送:
imageData.withUnsafeBytes { outputStream.write($0, maxLength: imageData.count) }
我是否必须在图像数据之前或与图像数据一起发送特定的代码来告诉打印机此消息是文件?
是否有人为此打印机(或类似打印机)开发了自定义应用程序?
注意:
我之所以使用ExternalAccessory,是因为该打印机(HP Sprocket)不支持AirPrint,并且在Apple MFi程序中使用了蓝牙3.0(无低能耗)。