3

我一直在玩 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];
4

2 回答 2

1

谢谢,我按照您的提示进行操作,现在可以使用。使用 loadRequest 代替:

[internalWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
于 2011-09-26T11:15:07.220 回答
1

我找到了解决方法,出于某种原因,如果我不使用它可以工作的 mime 类型。我刚刚将文件保存到本地存储,并为仅基于 URL 加载内容的 webview 使用了另一种加载方法。希望能帮助到你...

于 2011-02-04T23:17:50.600 回答