gpt4 book ai didi

iphone - iOS 打印不允许 UIPrintInteractionController 出现

转载 作者:可可西里 更新时间:2023-11-01 03:30:11 26 4
gpt4 key购买 nike

我正在为客户研究一个潜在的应用程序,但我有一个问题无法找到答案。我想做的是自动打印,而不显示 UIPrintInteractionController。我应该指出的重要一点是,这不会成为生产应用程序。我知道否则这可能会侵犯用户的隐私,未经用户同意就打印,但同样这不会成为 App Store 上的公共(public)应用程序。我发现一款似乎能够做到这一点的应用程序是 Printer Pro。系统会提示用户打印测试页,并且页面打印时没有 UIPrintInteractionController 出现 - 这个应用程序在商店中,所以我假设有一种合法的方式来做到这一点。有人知道这是怎么做到的吗?

最佳答案

据我所知,如果不调用 UIPrintInteractionController 并显示系统打印对话框,就无法在 iOS7 中进行打印。

但是,iOS8 现在提供了直接打印到打印件而不显示对话框的规定。基本思想是您获得一个 UIPrinter 对象,并将其与 UIPrintInteractionController 的新 - printToPrinter:completionHandler: 方法结合使用以打印不显示对话框。

可以通过多种方式为您的打印机获取 UIPrinter 对象。

最直接的方法是使用新的 UIPrinterPickerController。但这会显示一个对话框,因此不符合您的需求。

替代方法是使用 UIPrinter 方法通过其 URL 创建打印机+ printerWithURL:。我不完全清楚如何获取此 URL,但它可能包含在打印机的 HTML 管理页面中。我相信您可以使用 Bonjour API 以编程方式获取它。更多信息在这里:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/NetServices/Introduction.html#//apple_ref/doc/uid/10000119i

Bonjour 是一种服务发现 API,其中包括 IPP 打印机的发现,这是 AirPrint 使用的协议(protocol)。

至于 Printer Pro 应用程序如何能够在 iOS7 中不使用对话框进行打印,我猜想它们是在非常低的级别上与打印机进行交互(例如原始 HTTP 帖子等)。

关于iphone - iOS 打印不允许 UIPrintInteractionController 出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com