Formatos de archivo soportados por UIWebView

¿Cuáles son todos los formatos de archivo compatibles con UIWebView? En mis pruebas, encontré que es compatible con XLS, DOC, PPT, PDF pero no con XLSX, y DOCX, RTF.

Es compatible con archivos de imagen como, JPG, PNG, GIF, BMP, no está seguro acerca de TIFF o

Exactamente, lo que todos los tipos son compatibles no está claro …

La documentación de UIWebView tampoco lo dice claramente.

¿Podría alguien ayudarme?

Una nota técnica está disponible en el sitio web de Apple sobre los formatos de archivo compatibles con UIWebView :

Desde iPhone OS 2.2.1

  • Excel (.xls)
  • Keynote (.key.zip)
  • Números (.numbers.zip)
  • Páginas (.pages.zip)
  • PDF (.pdf)
  • Powerpoint (.ppt)
  • Word (.doc)

Desde iPhone OS 3.0

  • Formato de texto enriquecido (.rtf)
  • Directorio de formato de texto enriquecido (.rtfd.zip)
  • Keynote ’09 (tecla)
  • Números ’09 (números)
  • Páginas ’09 (.pages)

Estoy buscando una respuesta definitiva sobre esto, también.

Si bien la nota técnica nos dice qué formatos de alto nivel son compatibles, no nos dice qué formatos simples, por ejemplo, tipos de imágenes, son compatibles. Sin embargo, necesito esa información para que un servidor web sepa qué formatos me puede enviar (es decir, a través del encabezado “Aceptar” de http).

Actualizar

Uh, de hecho, aquí están los documentos de Apple en formatos de imágenes compatibles con UIWebView: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/GraphicsandDrawing/GraphicsandDrawing.html#//apple_ref/doc/ uid / TP40007072-CH10-SW8

Parece que los archivos .rtf son compatibles, pero no pude conseguir que UIWebView los muestre correctamente. Formatearía el texto correctamente (tamaño, color, fuente, etc.) pero las imágenes simplemente no se procesaron (probé .gif, .png y .jpg en vano). Es probable que si se toma la molestia de utilizar .rtf, probablemente esté esperando mostrar imágenes en UIWebView, ya que el principal beneficio de rtf es que puede incrustar imágenes en el archivo. Esto fue probado en un iPad 1 real (4.3) y en un iPhone simulado (4.3).

El código para mostrar el rtf en un UIWebView requiere que el rtf se escriba en un archivo con la extensión de archivo rtf. Se negó a cargar el archivo si no usaste ninguna extensión de archivo o una incorrecta, así que asegúrate de escribirlo como .rtf.

Aquí está una función de Objective C para tomar una cadena de entrada (que debe contener la rtf que desea visualizar) y obtener el UIWebView para cargarla a la vista …

 -(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]; }