【问题标题】:How to show a NSData object containing a MS Office document without saving to disk?如何在不保存到磁盘的情况下显示包含 MS Office 文档的 NSData 对象?
【发布时间】:2012-01-17 04:02:28
【问题描述】:

我有一个 NSData 对象,其中包含我想要显示的 MS Office Word 文档的内容 - 使用 UIWebView。

我正在使用以下命令:

[self.webView loadData:data MIMEType:@"application/msword" textEncodingName:@"utf-8" baseURL:nil];

不幸的是,我的屏幕是空的。

如果我尝试将数据保存到文件并使用 UIWebView 的 requestWithURL:url 方法打开文件 - 文件打开就好了。 但是,应用程序必须从内存中的数据加载文件,而不是以任何方式将数据保存到设备上的文件中。

我需要显示什么来加载包含 MS Office 文档的 NSData 对象,而无需先在设备上保存数据?

【问题讨论】:

    标签: iphone uiwebview mime-types nsdata


    【解决方案1】:

    试试吧:

    [self.webView loadData:data MIMEType:@"application/msword" textEncodingName:@"utf-8" baseURL:[NSURL URLWithString:@""]];
    

    nil 有一些东西会导致 UIWebView 不加载某些类型。不确定,但我有类似的问题。这解决了他们。

    【讨论】:

    • 太好了,非常感谢,没有这个我就无法解决我的问题。
    【解决方案2】:

    还有另一种方法可以通过设置正确的 MIMEtype 来打开 office 文档。用于 Excel/ppt 和其他类似 msword。

    NSString *mimtype = @"application/vnd.openxmlformats-officedocument.wordprocessingml.document";
    self.webView.delegate = self;
    
    [self.webView loadData:data MIMEType:mimtype textEncodingName:@"UTF-8" baseURL:nil];

    这也适用于 docx。

    谢谢,

    【讨论】:

      猜你喜欢
      • 2014-05-30
      • 1970-01-01
      • 2012-03-18
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      相关资源
      最近更新 更多