2012年2月23日木曜日

UIWebViewでPDF/Excelファイルまたはバイナリデータを表示


サーバーからバイナリデータで取得したがPDFやExcelデータをUIWebViewで表示する方法です。
PDFの場合はloadDataメソッドでUIWebViewにそのまま渡して表示することができます。
 
    UIWebView *webView = (UIWebView *)[self view]; //self = anUIViewController
    [webView loadData:binData MIMEType:@"application/pdf"
                      textEncodingName:nil
                               baseURL:nil];

Excelの場合はこの方法では表示できませんが、いったんディスクに保存し、そのファイルのURLを使ってloadRequestUIWebViewで表示させることができます。
 
    UIWebView *webView = (UIWebView *)[self view]; //self = anUIViewController
    NSString *path = @"somePath";
    NSURL *url = [NSURL fileURLWithPath:path];
    NSURLRequest *req = [NSURLRequest requestWithURL:url];
    [webView loadRequest:req];

この方法はPDFにも適用できますし、それ以外にもUIWebViewが表示可能な全てのデータに適用できるはずです。

0 件のコメント: