Display PDF in UIWebView mit loadData
Ich versuche, die Anzeige einer PDF-Datei habe ich lokal gespeichert, die in einer UIWebView. Dies ist, wie ich momentan Versuch, dies zu tun:
if (![[NSFileManager defaultManager] fileExistsAtPath:self.url]) {
LOG_ERROR(@"Couldn't load local file. File at path: %@ doesn't exist", self.url);
return;
}
nsurl=[NSURL fileURLWithPath:self.url];
NSData *data = [NSData dataWithContentsOfFile:self.url];
LOG_DEBUG(@"data length:%d",[data length]);
[self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];
Ich habe auch versucht vorbei nil für textEncoding, als auch die Verwendung von UIWebView ist loadRequest. Das Ergebnis ist ein UIWebView, das zeigt eine leere Seite an. Keine Fehler in der UIWebView delegate-Methode. Das merkwürdige ist, dass Daten hat die richtige Länge, in Byte, für die PDF-Datei ich versuche, die Anzeige, was bedeutet, die Datei wird gefunden und korrekt geladen.
Hat jemand eine Idee, was könnte hier falsch oder wie kann ich besser Debuggen dieses problem?
InformationsquelleAutor mmontalbo | 2010-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Unten finden Sie zwei verschiedene Ansätze zu öffnen, eine
.pdf
- Datei auf IhremUIWebView
; von einemurl
eine alsNSData
:NSData()
im RAM (ich machte es aus HTML), und es ist sinnlos zu sparen, einmal in eine temporäre Datei. Vielen Dank für die Beantwortung der eigentlichen Frage.Sie sind willkommen, gerne helfen
InformationsquelleAutor Yunus Nedim Mehel
Es stellt sich heraus, das problem war etwas zu tun mit dem Datei-format der PDF-Dateien. Ich bearbeitet Sie mit Illustrator und neu gespeichert. Ich denke, Mobile Safari nicht gefällt, wie Illustrator-formatierte Dateien, weil jeder von Ihnen war leer, wenn die Anzeige der simulator im browser (ich könnte zwar öffnen der PDF-Dateien in regelmäßigen Safari problemlos).
War die Lösung zum öffnen der PDF-Dateien mit Vorschau und speichern Sie erneut. Nach Ablauf jedes PDF-Vorschau durch den speichern-routine, ich war in der Lage, jede PDF-Datei für die Anzeige in einer UIWebView ohne änderung an meinem code.
InformationsquelleAutor mmontalbo
Brauchen Sie nicht NSData zu laden lokale Datei, loadRequest sollte direkt mit NSURL
Ich kann nur empfehlen zu machen NSURL wie
InformationsquelleAutor Nikolay Klimchuk
NSData
verwendet wird, laden Sie die pdf-Dateien, wenn Sie lokal gespeichert werden in jedem der Verzeichnisse.Zum laden der pdf-Datei die in Ihrer Anwendung den folgenden code verwenden .
InformationsquelleAutor abhilash reddy