2011-07-01 38 views
7

Może ktoś mnie prowadził, jak wydrukować zawartość mojego UIWebView,druku iOS powietrza dla UIWebView

Ex: - Chciałbym, aby wydrukować moje doc, xls, ppt z UIWebView aby wydrukować zawartość.

Proszę dostać jakieś linki lub kod przykładowy, aby rozwiązać ten problem

góry dziękuję

+1

Byłbym bardzo zaskoczony, gdyby UIWebView mógł wyświetlać pliki Word, Excel lub Powerpoint, co sprawia, że ​​myślisz, że może? – DarkDust

+9

@DarkDust http://developer.apple.com/library/ios/#qa/qa1630/_index.html – Dolbz

+0

@Dolbz: Dzięki, nie wiedziałem. – DarkDust

Odpowiedz

16
UIPrintInfo *pi = [UIPrintInfo printInfo]; 
pi.outputType = UIPrintInfoOutputGeneral; 
pi.jobName = webView.request.URL.absoluteString; 
pi.orientation = UIPrintInfoOrientationPortrait; 
pi.duplex = UIPrintInfoDuplexLongEdge; 

UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; 
pic.printInfo = pi; 
pic.showsPageRange = YES; 
pic.printFormatter = webView.viewPrintFormatter; 
[pic presentAnimated:YES completionHandler:^(UIPrintInteractionController *pic2, BOOL completed, NSError *error) { 
    // indicate done or error 
}]; 

szerszego sample na miejscu dev Apple.

0

Aby wydrukować zawartość interfejsu UIWebview, należy wyświetlić formatery. Wkleiłem poniższy kod.

UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; 
//pic.delegate = self; 
UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
printInfo.outputType = UIPrintInfoOutputGeneral; 
printInfo.jobName = @"google.com"; 
printInfo.duplex = UIPrintInfoDuplexLongEdge; 
pic.printInfo = printInfo; 
pic.showsPageRange = YES; 

// Webvied print 
NSData *mydata=[NSData dataWithContentsOfURL: [NSURL URLWithString: @"http://www.google.com"]]; 
// Use this webview if your content is not loaded into webview, if webview already exists then give its reference here 
UIWebView *webview = [[UIWebView alloc] initWithFrame: CGRectZero]; 
[webview loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: @"http://www.google.com"]]]; 
[webview loadData:mydata MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL: [NSURL URLWithString: @"http://www.google.com"]]; 
UIViewPrintFormatter *formatter = [webview viewPrintFormatter]; 
pic.printFormatter = formatter; 

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];