android ios cordova sencha-touch

android - pdf viewer html5



Incrustar PDF Viewer para la aplicaciĆ³n PhoneGap (3)

¿Cómo puedo insertar un visor de PDF para una aplicación de teléfono? Decidí usar PhoneGap + Sencha Touch para desarrollar una aplicación para iOS y Android.


Hola, solo use la etiqueta de objeto HTML5, puede agregar, swf, pdf, etc.


No hay mucha documentación para mezclar PhoneGap y ObjC, pero aquí hay algunos ejemplos de código que le permiten incrustar PhoneGap con una aplicación ObjectiveC. Para el visor de PDF, puede usar los básicos como QuickLook de Apple o UIWebView, o los más avanzados como PSPDFKit.

Para Android, simplemente puede buscar un Intento que sea capaz de mostrar archivos PDF (como el lector oficial de Adobe para Android) o integrar un visor de PDF completo usted mismo. Hay un proyecto de código abierto para eso , pero parece no estar completo. O echa un vistazo a apv , o droidreader , que es GPLv3.


Solo tengo experiencia con el teléfono iOS. La solución que me ha funcionado es crear un complemento que muestre una vista web nativa que use el visor de PDF nativo de iOS. La forma de hacer que esto funcione es seguir las instrucciones en este sitio web.

http://spin.atomicobject.com/2010/12/07/updating-phonegap-s-childbrowser-plugin-to-handle-local-files/

Este enlace modifica un complemento existente, "Explorador secundario" para usar el pdf de visualización de la página web nativa. El plugin chilbrowser original se puede encontrar aquí .

Para darle más idea de cómo será, esta es mi llamada javascript particular que puse en mi aplicación sencha.

PhoneGap.exec("ChildBrowserCommand.showFilePage", GlobalVar.localRoot + "/" + record.get("FilePath"));

Esto está dentro del controlador para el botón Tocar dentro del sencha, presionar el botón llamará al método del objetivo C "showFilePage". El parámetro es la ruta de archivo que usará el complemento.

Aquí está la parte del Objetivo C (nuevamente, debe seguir los enlaces para obtener instrucciones completas)

- (void) showFilePage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url { NSLog(@"showFilePage entered: "); if(childBrowser == NULL) { childBrowser = [[ ChildBrowserViewController alloc ] initWithScale:FALSE ]; childBrowser.delegate = self; } PhoneGapViewController* cont = (PhoneGapViewController*)[ super appViewController ]; childBrowser.supportedOrientations = cont.supportedOrientations; [ cont presentModalViewController:childBrowser animated:YES ]; NSString *path = (NSString*) [arguments objectAtIndex:0]; NSLog(@"Our argument 0 is: %@",[arguments objectAtIndex:0]); NSLog(@"The url is: %@",path); [childBrowser loadFileURL:path]; }