2009-08-24 7 views
12

Welche Dateiformate werden von UIWebView unterstützt? In meinen Tests habe ich festgestellt, dass es XLS, DOC, PPT, PDF aber nicht XLSX und DOCX, RTF unterstützt.Von UIWebView unterstützte Dateiformate

Es unterstützt Bilddateien wie JPG, PNG, GIF, BMP, nicht sicher über TIFF oder

Genau, was alle Typen unterstützt nicht klar ist ...

Die UIWebView Dokumentation auch doesn‘ Ich sage es deutlich.

Könnte jemand bitte helfen?

Antwort

13

A Technische Anmerkung ist von UIWebView auf Apple Website über Dateiformate unterstützt verfügbar:

Seit iPhone OS 2.2.1

  • Excel (.xls)
  • Keynote (.key.zip)
  • Zahlen (.numbers.zip)
  • Seiten (.pages.zip)
  • PDF (.pdf)
  • Powerpoint (PPT)
  • Word (.doc)

Seit iPhone OS 3,0

  • Rich Text Format (.rtf)
  • Rich Text Format Verzeichnis (.rtfd.zip)
  • Keynote '09 (.key)
  • Numbers '09 (.numbers)
  • Pages '09 (.pages)
2

Ich bin eine definitive Antwort auf diese Nachricht auch.

Während die Tech Note uns sagt, welche High-Level-Formate unterstützt werden, sagt es uns nicht, welche einfachen Formate, z.B. Bildtypen werden unterstützt. Ich brauche diese Informationen, um einem Webserver mitzuteilen, welche Formate er mir senden kann (d. H. Über den "Accept" -Kopf von http).

aktualisieren

Uh, eigentlich hier, ist die Dokumentation von Apple auf unterstützten Bildformate von UIWebView: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/GraphicsandDrawing/GraphicsandDrawing.html#//apple_ref/doc/uid/TP40007072-CH10-SW8

+7

Verbindung unterbrochen ... – HyBRiD

1

.rtf-Dateien offenbar unterstützt werden, aber ich war nicht in der Lage die UIWebView, um sie korrekt angezeigt werden . Es würde den Text korrekt formatieren (Größe, Farbe, Schriftart usw.), aber Bilder wurden einfach nicht gerendert (ich habe .gif, .png und .jpg vergeblich versucht). Wenn Sie Schwierigkeiten mit der Verwendung von .rtf haben, hoffen Sie wahrscheinlich, Bilder im UIWebView anzeigen zu können, da der Hauptvorteil von rtf darin besteht, dass Sie Bilder in die Datei einbetten können. Dies wurde auf einem echten iPad 1 (4.3) und auf einem simulierten iPhone (4.3) versucht.

Der Code, der zum Anzeigen des RTF in einem UIWebView benötigt wird, erforderte, dass das RTF in eine Datei mit der Dateierweiterung RTF geschrieben wird. Es hat sich geweigert, die Datei zu laden, wenn Sie keine Dateierweiterung oder eine falsche Datei verwenden, also stellen Sie sicher, dass Sie sie als .rtf schreiben.

Hier ist ein Objective C Funktion einer Eingabekette zu nehmen (die die rtf enthalten sollten Sie anzeigen möchten) und erhalten die UIWebView es in den Blick zu laden ...

-(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

Ich habe versucht, es als Datei zu speichern und es wie beschrieben zu laden (ich habe einen anderen Code wegen C# verwendet). Das hat es nicht verändert. Es ist das gleiche Verhalten wie 'loadData'. – testing