iOS AirPrint - 设置默认打印机

时间:2012-10-24 07:34:17

标签: iphone ios ipad ios6 airprint

我有一个在我公司内部运行的企业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.

2 个答案:

答案 0 :(得分:1)

我收到的Apple正式回复如下。

使用当前的iOS打印系统无法做到这一点。我们欢迎提交错误报告,但我不能说我们将在未来的iOS版本中提供这样的机制。

答案 1 :(得分:-1)

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

- (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
    }
}