使用iphone sdk从我的wifi上找到打印机

时间:2013-06-03 12:12:22

标签: ios objective-c printing wifi

任何人都可以帮助我如何在我的 iphone sdk 中列出连接到我的wifi的打印机,我还想使用所选的打印机打印我的pdf。请帮我。使用Bonjour我有打印机列表,但没有打印机状态。请帮帮我

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

以下是在Apple文档中打印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];
    }
}

希望这会对你有所帮助。