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

何らかの理由で、MIME タイプを使用しないと機能します。ファイルをローカル ストレージに保存し、URL のみに基づいてコンテンツを読み込む webview の別の読み込み方法を使用しました。それが役に立てば幸い...

于 2011-02-04T23:17:50.600 に答える
1

ありがとう、私はあなたのヒントに従い、今はうまくいきます。代わりに loadRequest を使用します。

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