2009-08-24 11 views
12

¿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.Formatos de archivo compatibles con UIWebView

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

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

La documentación UIWebView también doesn' t lo dice claramente.

¿Podría alguien ayudarme?

Respuesta

13

una nota técnica está disponible en Apple Website 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 (.key)
  • Numbers '09 (.numbers)
  • Pages '09 (.páginas)
2

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, p. tipos de imagen, 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).

actualización

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

+7

enlace está roto ... – HyBRiD

1

.rtf son aparentemente apoyado pero no pudo conseguir el UIWebView para visualizar 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í es una función objetivo C para tomar una cadena de entrada (que debe contener el rtf usted quiere visualizar) y obtener el UIWebView para cargarlo en 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]; 
} 
+0

Intenté almacenarlo como un archivo y cargarlo como lo describió (utilicé otro código debido a C#). Eso no lo cambió. Es el mismo comportamiento como 'loadData'. – testing

Cuestiones relacionadas