WebKit 的 WebView (OS X) 是不是能够显示 docx 文件?
Posted
技术标签:
【中文标题】WebKit 的 WebView (OS X) 是不是能够显示 docx 文件?【英文标题】:Is WebKit's WebView (OS X) able to display docx file?WebKit 的 WebView (OS X) 是否能够显示 docx 文件? 【发布时间】:2014-01-08 11:29:08 【问题描述】:我想使用 WebView(注意:它不是 ios 中的 UIWebView,我说的是 Mac OS X WebView)在我的 Mac 应用程序中显示 docx 文档,但它无法加载它。
我正在使用的代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"demo.docx" ofType:nil];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[[self.webViewPlaceholder mainFrame] loadRequest:request];
(demo.docx 是来自 Calibre 项目的演示文件)。
从WebResourceLoadDelegate
方法webView:resource:didFailLoadingWithError:fromDataSource:
我得到:
Error Domain=WebKitErrorDomain Code=102 "Frame load interrupted" UserInfo=0x608000075500 NSErrorFailingURLStringKey=about:blank, NSLocalizedDescription=Frame load interrupted, NSErrorFailingURLKey=about:blank
这是否意味着WebView无法显示这种文档?
这有点令人惊讶,而示例 iOS 项目中的相同代码显示相同的演示文件而没有任何问题。
直接将demo.docx拖到Safari标签上不会加载文档,所以我猜Mac OS X下的WebKit基本上不支持这种格式?
如果我的假设是正确的,那么显示 docx 文件内容的最佳方法是什么?转换成PDF?转 html?
【问题讨论】:
你可以看youtube.com/watch?v=OuF2MGX0Os8 (libopc & WebKit) 【参考方案1】:可以在 Mac OS X 上打开 Docx 的唯一应用是 Word、Pages 或其他类似程序。我真的想知道您是否可以从浏览器中打开 docx。
我建议您将 docx 转换为 PDF 或 HTML,但我不知道有任何库在客户端执行该操作。例如,您可以将https://***.com/questions/9299030/convert-docx-to-pdf-using-php#9299276 用于 PHP。
【讨论】:
以上是关于WebKit 的 WebView (OS X) 是不是能够显示 docx 文件?的主要内容,如果未能解决你的问题,请参考以下文章
OS X:-webView:shouldStartLoadWithRequest:navigationType: 对于 WebView
js如何判断当前运行环境是ios webview还是android webview