2010-01-25 75 views
3

我已使用CGPDFDocument类读取.pdf文档并检索页数或按数字拉回页面。读取IOS中的Open-XML文档

我正在寻找一个类似的库,它将为Microsoft Word格式的文档执行相同的操作。我对使用Safari查看文档不感兴趣。

我在应用商店看到过一些宣称阅读MS Office文档的应用程序,例如.docx,.xlsx等,但我正在寻找一个库来支持我自己的应用程序的开发工作。任何人都可以将我指向正确的方向吗?

回答

-3

加载本地PDF文件转换成Web视图

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    NSString *thePath = [[NSBundle mainBundle] pathForResource:@"iPhone_User_Guide" ofType:@"doc"]; 
    if (thePath) { 
     NSData *pdfData = [NSData dataWithContentsOfFile:thePath]; 
     [(UIWebView *)self.view loadData:pdfData MIMEType:@"application/doc" 
      textEncodingName:@"utf-8" baseURL:nil]; 
    } 
} 

,如果通过网络,然后

[self.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.apple.com/iphone_user_guide.pdf"]]]; 
+2

他需要加载Word文档而不是PDF文档。 – pabloruiz55 2011-01-27 12:10:06

1

使用UIWebView加载文件:

-(void)loadDocument:(NSString*)documentName inView:(UIWebView*)webView 
{ 
    NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:nil]; 
    NSURL *url = [NSURL fileURLWithPath:path]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:request]; 
} 

// Calling -loadDocument:inView: 
[self loadDocument:@"mydocument.rtfd.zip" inView:self.myWebview]; 

here服用。另外,请查看forum discussion

+0

不适用于我的文档文件。我在控制台上看到“EXCEPTION CPMessageException:(null)”。任何线索?我再次检查文件路径并打开文件以确保没有问题 – 2013-03-03 08:02:11

4

从Microsoft Office的最新版本(那些在年底有一个x,如.docx.xlsx.pptx等)根据OpenXML标准,这是相当有据可查实际保存生成的文档类型。我提到这一点,因为它会帮助您在阅读和解析应用程序的文档格式方面寻求进一步的帮助。

这就是说,这听起来像是你正在寻找一个标准库,你可以从中读取和操作Objective-C中的这些文档。

有关如何使用OpenXML SDK 2.0执行此操作的示例的讨论可参见here。作为一个exerpt:

using (WordprocessingDocument document = WordprocessingDocument.Open(fileName, false)) 
{ 
    int pageCount = (int) document.ExtendedFilePropertiesPart.Properties.Pages.Text; 
} 

一种用于从目标C使用openxml SDK教程可以发现here(尽管从制品上的图像看起来被打破)。本教程将其代码基于Google Code上的GData Objective-C Client

您也可以参考this SO Question,它的答案是指开放源代码库libOPC,其网页提供了如何在iPhone应用程序中构建Word文档操作的示例。

不幸的是,这些资源都不会帮助您阅读旧格式的.doc文件,该文件采用更为专有的Microsoft格式。所以 - 我希望这不是你需要做的。无论哪种方式,我希望这些资源帮助!让我们知道,如果你得到它的工作。