将PDF Viewerembedded到PhoneGap应用程序中

我如何embedded一个phonegap应用程序的PDF查看器? 我决定使用PhoneGap + Sencha Touch来开发iOS和Android的应用程序。

没有太多关于混合PhoneGap和ObjC的文档,但是这里有一些示例代码 ,可以让您将PhoneGapembedded到ObjectiveC应用程序中。 对于PDF查看器,您可以使用像Apple的QuickLook或UIWebView这样的基本程序,也可以使用更高级的程序,如PSPDFKit。

对于Android,您可以简单地search能够显示PDF的Intent (如Adobe的Android官方Reader),或者自己整合PDF阅读器。 有一个开源项目 ,但看起来不完整。 或者查看apv或者droidreader ,这是GPLv3。

我只有iOS手机的经验。 为我工作的解决scheme是制作一个插件,popup一个使用iOS本机pdf查看器的本地networking视图。 要使这个工作的方法是遵循本网站的指示。

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

这个链接修改一个现有的插件,“儿童浏览器”使用原生webview显示PDF的。 原始的chilbrowser插件可以在这里find。

为了给你更多的想法,下面是我特别的JavaScript调用,我把它放入我的sencha应用程序。

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

这是sencha里面的buttonTap的处理程序,按下button将调用客观的C方法“showFilePage”。 参数是插件将使用的文件path。

这里是Objective C部分(再次,你应该按照链接的完整说明)

  - (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]; } 

嗨,只需使用HTML5对象标签,你可以添加,瑞士法郎,pdf等。