2011-07-01 50 views
7

任何一個可以指導我如何打印我的UIWebView的內容,iOS上的AIR打印了一個UIWebView

FOR EX: - 我想從一個UIWebView打印我的DOC,XLS,PPT文件打印的內容。

請得到一些鏈接或示例代碼來解決這個問題

在此先感謝

+1

如果UIWebView能夠顯示Word,Excel或Powerpoint文件,我會非常驚訝,是什麼讓你認爲它可以? – DarkDust

+9

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

+0

@Dolbz:謝謝,不知道。 – DarkDust

回答

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

蘋果的開發站點更廣泛sample

0

要打印UIWebview的內容,需要查看格式化程序。 我已經粘貼下面的代碼。

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