Jak mogę umieścić przeglądarkę plików PDF dla aplikacji kartograficznej? Zdecydowałem się użyć aplikacji PhoneGap + Sencha Touch, aby opracować aplikację na iOS i Androida.Osadzanie przeglądarki plików PDF dla aplikacji PhoneGap
Odpowiedz
Nie ma zbyt wiele dokumentacji do mieszania PhoneGap i ObjC, ale here is some example cod e, która pozwala osadzić PhoneGap w aplikacji ObjectiveC. W przeglądarce plików PDF możesz użyć podstawowych, takich jak Apple QuickLook lub UIWebView, lub bardziej zaawansowanych, takich jak PSPDFKit.
W przypadku Androida można uzyskać simply search for an Intent that is capable of displaying pdf (np. Oficjalnego czytnika Adobe dla systemu Android) lub zintegrować pełną przeglądarkę plików PDF samodzielnie. There's an open source project for that, ale wygląda na niezupełnie kompletną. Lub sprawdź apv lub droidreader, czyli GPLv3.
Mam tylko doświadczenie w zakresie phonegapa na iOS. Rozwiązaniem, które zadziałało dla mnie, jest stworzenie wtyczki, która wyskakuje natywny widok internetowy, który korzysta z natywnej przeglądarki plików PDF na iOS. Aby to osiągnąć, należy postępować zgodnie z instrukcjami na tej stronie.
Ten link modyfikuje istniejące wtyczki "przeglądarki Child", by użyć rodzimych wyświetlania WebView pdf. Oryginalną wtyczkę chilbrowser można znaleźć here.
Aby dać ci wyobrażenie o tym, jak to będzie wyglądać, oto moja konkretna rozmowa javascript, którą umieszczam w aplikacji sencha.
PhoneGap.exec("ChildBrowserCommand.showFilePage", GlobalVar.localRoot + "/" + record.get("FilePath"));
to jest wewnątrz uchwytu do buttonTap wewnątrz sencha naciśnięcie przycisku następnie wywołać konkretna metoda C „showFilePage”. Parametr jest ścieżką do pliku używaną przez wtyczkę.
Oto część Objective C (ponownie, należy postępować zgodnie z linków do pełnych instrukcji)
- (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];
}
Hi wystarczy użyć HTML5 tag obiektu, można dodać, swf, pdf itp ..