example - Compatibilidad con Docx en UIWebview(iOS)?
wkwebview ios (2)
He revisado los enlaces oficiales para soporte de documentación, y está claro que docx no es compatible en UIWebview,
https://developer.apple.com/library/ios/qa/qa1630/_index.html
Pero también descubrí que algunos tipos podían abrir archivos docx en UIWebview,
No se puede abrir el archivo docx a través de webbrowser en la aplicación que utiliza la funcionalidad OpenIn , ¿Por qué doc y docx pierden información de estilo en iOS? , Cómo abrir documentos de Microsoft Office en iPhone
Además, afaik, iOS safari browser se basa en UIWebview y puedo abrir archivos docx desde Internet en el navegador. Pero cuando descargo un docx de mi servidor de prueba (he comprobado el docx descargado importándolo desde el simulador y se abre perfectamente en mi mac), no puedo verlo en UIWebview.
Estoy confundido, ¿es compatible con docx o no? ¿O parece que Docc tiene una mayor variedad de formatos de los cuales algunos son compatibles?
Aquí está mi código de carga,
NSURLRequest *request = [NSURLRequest requestWithURL:urlPath];
[webViewForDocsView loadRequest:request];
Sí UIWebView
compatible con el docx. Solo intenté cargar un archivo docx desde el paquete y parece funcionar bien (en este ejemplo llamado "DOC1.docx") ::
NSString *path = [[NSBundle mainBundle] pathForResource:@"DOC1" ofType:@"docx"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[mywebView loadRequest:request];
y Si está tratando de mostrar un archivo docx que reside en un servidor en alguna parte, simplemente puede cargarlo en su vista web directamente:
NSURL *targetURL = [NSURL URLWithString:@"http://www.central.wa.edu.au/Current_Students/JobsCareersandLeavingCentral/Documents/Resume%20Template.docx"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[mywebView loadRequest:request];
No sé por qué, pero usar el esquema de URL para cargar docx no funcionó, (el código siguiente no funcionó)
NSURLRequest *request = [NSURLRequest requestWithURL:urlPath];
[webViewForDocsView loadRequest:request];
En su lugar, cargar el archivo en la memoria (usando NSData) y cargar los datos con el tipo MIME funcionó (¡el código siguiente funcionaba como un hechizo!)
NSString *path = [urlFileInView path];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
webViewForDocsView.delegate = self;
[webViewForDocsView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];