-2

谁能帮助我如何在我的iphone sdk中列出连接到我的 wifi 的打印机,并且我想使用选定的打印机打印我的 pdf。请帮我。使用 Bonjour 我得到了打印机列表,但没有打印机状态。请帮我

4

2 回答 2

2

您必须使用UIPrintInteractionController类。它显示一个警报/弹出窗口,您可以在其中选择一台启用 AirPrint 的打印机(显然是在同一个 LAN 上)。
看看Apple 提供的这个示例,它展示了如何打印 a 的内容,UIWebView但它很容易适应打印文档或图像。

于 2013-06-03T12:25:45.717 回答
2

这是在苹果文档中打印 pdf 的示例本身:

- (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;
        pic.printInfo = printInfo;
        pic.showsPageRange = YES;
        pic.printingItem = self.myPDFData;

        void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
           ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) {
             self.content = nil;
             if (!completed && error)
                  NSLog(@"FAILED! due to error in domain %@ with error code %u",
                  error.domain, error.code);
        };
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        [pic presentFromBarButtonItem:self.printButton animated:YES
            completionHandler:completionHandler];
        } else {
        [pic presentAnimated:YES completionHandler:completionHandler];
    }
}

希望这对您有所帮助。

于 2013-06-03T14:00:16.403 回答