2011-07-01 15 views
7

Me puede indicar cualquiera de cómo imprimir el contenido de mi UIWebView,de impresión IOS de aire para UIWebView

PARA EX: - me gustaría imprimir mi doc, xls, ppt archivo de UIWebView para imprimir el contenido.

Por favor, póngase algunos enlaces o código de ejemplo para resolver este problema

Gracias de antemano

+1

Me sorprendería mucho si UIWebView pudiera mostrar archivos de Word, Excel o Powerpoint, ¿qué te hace pensar que puede? – DarkDust

+9

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

+0

@Dolbz: Gracias, no lo sabía. – DarkDust

Respuesta

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

más extensa esta sample en el sitio de Apple dev.

0

Para imprimir los contenidos de UIWebview, se necesitan formateadores de vista. He pegado el código a continuación.

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