Чтение документов Open-XML в IOS - PullRequest
2 голосов
/ 25 января 2010

Я использовал класс CGPDFDocument для чтения .pdf документов и получения # страниц или возврата страницы по номеру.

Я ищу похожую библиотеку, которая будет делать то же самое для документов в формате Microsoft Word. Я не заинтересован в использовании Safari для просмотра документа.

Я видел некоторые приложения в магазине приложений, которые утверждают, что читают документы MS Office, такие как .docx, .xlsx и т. Д., Но я ищу библиотеку, которая позволила бы развитию моего собственного приложения сделать то же самое , Кто-нибудь может указать мне правильное направление?

Ответы [ 3 ]

4 голосов
/ 11 апреля 2013

Типы документов, созданные из последних версий Microsoft Office (те, которые имеют x в конце, такие как .docx, .xlsx, .pptx и т. Д.), Фактически сохраняются в соответствии с OpenXML стандарт, который довольно хорошо задокументирован. Я упоминаю об этом, потому что вам будет полезно искать дополнительную помощь в чтении и разборе форматов документов для ваших приложений.

Тем не менее, звучит так, будто вы ищете стандартную библиотеку, с помощью которой вы можете читать и манипулировать этими видами документов из Objective-C.

Обсуждение с примерами того, как это сделать с помощью OpenXML SDK 2.0, можно найти здесь . В качестве выдержки:

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

Учебное пособие по использованию OpenXML SDK из Objective-C можно найти здесь (хотя изображения из статьи выглядят неработающими). Этот учебник основан на коде клиента GData Objective-C , найденного в коде Google.

Вы также можете обратиться к этому вопросу SO и его ответу, который относится к библиотеке с открытым исходным кодом libOPC , веб-страница для которой дает примеры того, как построить Word Управление документами в приложении для iPhone.

К сожалению, ни один из этих ресурсов вряд ли поможет вам прочитать файл .doc старого формата, который находится в гораздо более проприетарном формате Microsoft. Итак - я надеюсь, что это не то, что вам нужно сделать. В любом случае, я надеюсь, что эти ресурсы помогут! Дайте нам знать, если у вас все получится.

1 голос
/ 03 января 2012

Загрузка документа с использованием 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];

Взято из здесь . Кроме того, также проверьте это обсуждение форума .

0 голосов
/ 01 апреля 2010

Загрузка локального файла PDF в веб-представление

- (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"]]];
...