Форматы файлов, поддерживаемые UIWebView - PullRequest
13 голосов
/ 24 августа 2009

Какие все форматы файлов поддерживаются UIWebView? В ходе тестирования я обнаружил, что он поддерживает XLS, DOC, PPT, PDF, но не XLSX, а также DOCX, RTF.

Он поддерживает файлы изображений, такие как, JPG, PNG, GIF, BMP, не уверен насчет TIFF или

Точно, что поддерживаются все типы, не ясно ...

В документации UIWebView также не указано четко.

Может ли кто-нибудь помочь, пожалуйста?

Ответы [ 3 ]

15 голосов
/ 17 ноября 2009

Техническая заметка доступна на сайте Apple о форматах файлов, поддерживаемых UIWebView:

С iPhone OS 2.2.1

  • Excel (.xls)
  • Keynote (.key.zip)
  • Числа (.numbers.zip)
  • Страницы (.pages.zip)
  • PDF (.pdf)
  • Powerpoint (.ppt)
  • Word (.doc)

С iPhone OS 3.0

  • Rich Text Format (.rtf)
  • Каталог форматированного текста (.rtfd.zip)
  • Keynote '09 (.key)
  • Числа '09 (.numbers)
  • Pages '09 (.pages)
2 голосов
/ 28 апреля 2010

Я тоже ищу окончательный ответ на этот вопрос.

Хотя техническая записка говорит нам, какие форматы высокого уровня поддерживаются, она не говорит нам, какие простые форматы, например, типы изображений, поддерживаются. Однако мне нужна эта информация, чтобы веб-сервер знал, какие форматы он может отправлять мне (т. Е. Через заголовок http "Accept").

Обновление

Вообще-то, вот документы от Apple по поддерживаемым форматам изображений от UIWebView: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/GraphicsandDrawing/GraphicsandDrawing.html#//apple_ref/doc/uid/TP40007072-CH10-SW8

1 голос
/ 20 марта 2012

.rtf файлы, видимо, поддерживаются, но мне не удалось заставить UIWebView правильно их отображать. Было бы правильно отформатировать текст (размер, цвет, шрифт и т. Д.), Но изображения просто не отображались (я пробовал .gif, .png и .jpg безрезультатно). Скорее всего, если вы собираетесь использовать .rtf, вы, вероятно, надеетесь отобразить изображения в UIWebView, поскольку основное преимущество rtf заключается в том, что вы можете вставлять изображения в файл. Это было опробовано на реальном iPad 1 (4.3) и на имитированном iPhone (4.3).

Код, созданный для отображения rtf в UIWebView, требовал, чтобы rtf был записан в файл с расширением rtf. Он отказался загружать файл, если вы не используете расширение или неверное расширение, поэтому убедитесь, что вы записали его как .rtf.

Вот функция Objective C, чтобы взять входную строку (которая должна содержать rtf, который вы хотите отобразить) и получить UIWebView, чтобы загрузить ее в представление ...

-(void) loadRtf : (UIWebView*) webView : (std::string) rtfFile
{
    // This function will write the rtf to a file in your apps bundle location on the iDevice and use
    // the UIWebView to load it...
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([path count] > 0) ? [path objectAtIndex:0] : nil;
    NSString *fullPath = [basePath stringByAppendingPathComponent:@"rtfData.rtf"];
    std::string fp = [fullPath cStringUsingEncoding:NSASCIIStringEncoding];
    std::ofstream fs;
    fs.open(fp.c_str(), std::ios_base::binary);
    if( !fs.is_open() )
        return;
    fs << rtfFile;
    fs.close(); 
    NSURL *url = [NSURL fileURLWithPath:fullPath];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...