iOS 4.2 – 用Apple AirPrint打印DOC,PPT,XLS等?

我一直在玩iOS 4.2 UIWebView + AirPrint。 但是,问题是从UIWebView获取viewPrintFormatter我能够打印PDF和图像,而不是DOC,DOCX,PPT,PPTX等。这些文件在UIWebView中正确显示,但Airprint将打印空白页。

这是我的代码:

[internalWebView loadData:[[printContent objectAtIndex:0] data] MIMEType:mimeType textEncodingName:nil baseURL:nil]; UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; //pic.delegate = self; UIPrintInfo *printInfo = [UIPrintInfo printInfo]; printInfo.outputType = UIPrintInfoOutputGeneral; printInfo.jobName = [[printContent objectAtIndex:0] fileName]; pic.printInfo = printInfo; pic.printFormatter = [internalWebView viewPrintFormatter]; pic.showsPageRange = YES; void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { if (!completed && error) { NSLog(@"Printing could not complete because of error: %@", error); } }; [pic presentAnimated:YES completionHandler:completionHandler]; 

我发现如何解决它,由于某种原因,如果我不使用MIMEtypes的作品。 我只是将文件保存到本地存储,并使用webview的其他加载方法,加载内容仅基于URL。 希望能帮助到你…

谢谢,我按照你的提示,它现在工作。 改为使用loadRequest:

 [internalWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];