UIWebview を使用して MS Office ファイル (word、powerpoint、excel) を表示しようとしていますが、一部のファイルにはマクロが有効になっています UIWebview はこれらのファイルを表示できません。UIWebview にこれらのファイルをレンダリングさせる方法はありますか?
注:十分なファイルの内容を表示できる場合、マクロを機能させたくありません。
これが古いことは知っていますが、今日出くわしました。UIWebView は、マクロが有効な Office ファイルを直接開かないようです。たとえば、次のコードは失敗します -
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]];
上記のコードは、マクロが有効な Office ファイルに対してのみ失敗します。.docx、.pptx、.rtf、.pdf、.txt などのファイルに対しては問題なく動作します。ただし、ファイルを NSData にプルしてから、MIME タイプを明示的に UIWebView に指定すると、ファイルが開きます。以下のコードは、これらのマクロが有効な Office ファイルを開きます -
// this will open a .pptm file - replace mime type as necessary for other macro-enabled file types
NSData* fileData = [NSData dataWithContentsOfFile:filePath];
[webView loadData:fileData MIMEType:@"application/vnd.ms-powerpoint.presentation.macroEnabled.12" textEncodingName:nil baseURL:nil];
.pptm、.ppsm、.potm、.docm、.xlsm でテスト済み