Вставка PDF-просмотра для приложения PhoneGap

Как я могу встроить средство просмотра PDF для приложения для телефонных разговоров? Я решил использовать PhoneGap + Sencha Touch для разработки приложения для iOS и Android.

Существует не так много документации для смешивания PhoneGap и ObjC, но вот несколько примеров cod e, которые позволяют вставлять PhoneGap с ObjectiveC-Application. Для просмотра в формате PDF вы можете использовать базовые, такие как QuickLook от Apple или UIWebView, или более продвинутые, такие как PSPDFKit.

Для Android вы можете просто найти Intent, способный отображать pdf (например, официальный Reader Adobe для Android) или интегрировать полный просмотрщик PDF самостоятельно. Для этого есть проект с открытым исходным кодом , но он выглядит не совсем полным. Или проверьте apv или droidreader , который является GPLv3.

У меня только телефонные разговоры iOS. Решение, которое сработало для меня, – это сделать плагин, который отображает собственный веб-просмотр, который использует iOS для чтения в формате pdf. Способ заставить это работать – следовать инструкциям на этом веб-сайте.

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

Эта ссылка изменяет существующий плагин «Child browser», чтобы использовать собственный pdf-файл для просмотра веб-страниц. Оригинальный плагин chilbrowser можно найти здесь .

Чтобы дать вам больше представление о том, как это будет выглядеть, вот мой специальный javascript-вызов, который я ввел в приложение sencha.

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

Это находится внутри обработчика кнопки Button внутри сенча, нажимая кнопку, вызывается метод объектива C «showFilePage». Параметр – путь к файлу, который будет использовать плагин.

Вот часть 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, вы можете добавить swf, pdf и т. Д.