iOS AirPrint-设置默认打印机

Posted

技术标签:

【中文标题】iOS AirPrint-设置默认打印机【英文标题】:iOS AirPrint-Set default printer 【发布时间】:2012-10-24 07:34:16 【问题描述】:

我有一个在公司内部运行的企业 iPad 应用程序。我在应用程序中使用 AirPrint,并且我的 WIFI 网络中有几台空中打印机。

我需要为某些用户组设置默认打印机并限制其他所有打印机。 (无需显示在打印机列表中)

有人知道怎么做吗?我在 UIPrintInfo 中看到了一个 printerId 属性。也许我可以用这个。不确定。

printerID
An identifier of the printer to use for the print job.

@property(nonatomic, copy) NSString *printerID
Discussion
This property is set through user selection in the printing user interface. You may provide a printer ID as a hint (for example, the last printer used from a particular print job). The default value is nil.

【问题讨论】:

【参考方案1】:

我收到的苹果官方回复如下。

目前的 ios 打印系统无法做到这一点。欢迎提交错误报告,尽管我不能说我们会在未来的 iOS 版本中提供这样的机制。

【讨论】:

【参考方案2】:

你可以试试这个(未测试):

- (IBAction)printContent:(id)sender 

    UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];

    if  (pic && [UIPrintInteractionController canPrintData: self.myPDFData] ) 

        pic.delegate = self; 

        UIPrintInfo *printInfo = [UIPrintInfo printInfo];
        printInfo.outputType = UIPrintInfoOutputGeneral;
        printInfo.jobName = [self.path lastPathComponent];
        printInfo.duplex = UIPrintInfoDuplexLongEdge;

        //Set the printer ID you want to use
        printInfo.printerID = thePrinterIDYouWant;

        //Set the printInfo to the pritnController
        pic.printInfo = printInfo;

        //Enhance the print here
    

【讨论】:

这只是设置默认打印机还是隐藏其他打印机?

以上是关于iOS AirPrint-设置默认打印机的主要内容,如果未能解决你的问题,请参考以下文章

iOS Airprint 自动打印而不选择打印机

无法使用 AirPrint 显示打印机选项

手机使用打印机打印方法须知

从 uiwebview (iOs) 打印本地 html 文件

打印 UIWebView 屏幕

如何在 swift 3 中使用 UIPrintInteractionController.print 设置要打印的页数?