我需要在我的应用程序中提供打印PDF文件的选项。
我的应用程序要求如下:
无需互联网即可打印。
应该在A4纸上打印PDF文档。
需要进行适当的导航。如果PDF成功打印,则需要显示消息。如果找不到打印机,则需要显示消息。
我已经针对此问题进行了研究,并发现以下选项:
- Google Cloud Print
- Google Cloud Print是一个谷歌服务,旨在让任何网络中任何设备上的任何云打印感知应用程序都可以打印到任何打印机。
依赖性: - 需要互联网连接
优点: - 容易设置 - 与各种打印机兼容
- Epson Printer SDK
Epson SDK旨在缩短实施来自手持外围设备的无线POS打印的移动POS应用程序所需的开发时间。
依赖性和限制: - 仅适用于爱普生POS(Point of Sale)打印机 - 外围设备必须支持ARMv5TE - 如果设备在通过蓝牙与打印机通信时进入睡眠模式,则连接将丢失。
- Zebra Printer SDK
Zebra Multiplatform SDK包含开发Zebra标签打印机应用程序所需的所有组件。
依赖性: - 仅适用于Zebra打印机。即,移动:MZ™系列,QL Plus™系列,RW™系列,P4T™/RP4T™打印机 桌面式:G-Series™, HC100™, TLP/LP 2824 Plus™打印机 高性能/中档:Xi4™和XiIIIPlus™,PAX4™系列,ZM400™/ZM600™,S4M™,105SL™打印机 RFID:RXi™系列,R110PAX4™,RZ400™/RZ600™打印机 Kiosk:KR403™打印机
4) 使用STAR打印机SDK - StarIO SDK是一个高级编程工具,简化了Star打印机软件的开发和创建。
依赖性 - 仅适用于POS星型打印机
5) 发送意图到其他应用程序 - 我们可以向其他应用程序发送意图以打印文件。
依赖性 - 依赖第三方应用程序 - 如果个人拥有HP打印机,则需要安装ePrint应用程序, 如果个人拥有Brother打印机,则需要安装iPrint应用程序等。
从可用选项中看,我不能使用:
Google Cloud Print,因为应用程序无法访问互联网
EpSON SDK仅支持POS打印机,但我必须在A4纸张上打印PDF。 而且它的SDK仅支持ARMv5TE架构设备。
- Star和Zebra SDK因为它们也只支持POS打印机
- Intent,因为没有适当的导航。 意味着无法获取打印机的当前状态,PSF打印成功或失败。
请告诉我我们可以通过哪些其他选项直接从设备上进行打印,因为打印PDF是我的应用程序的重要部分。 去年Google发布了Printing API,但它仅支持4.4及以上版本。