Мне нужно открыть локальный PDF-файл с помощью приложения Adobe Reader через IBaction с помощью кнопки

Я искал несколько дней для решения моей проблемы и не могу найти именно то, что мне нужно. Я создал интерактивный PDF-файл, который нужно просмотреть в Adobe Reader (приложение есть на iPad). У меня есть несколько контроллеров просмотра, мне нужно добавить универсальную кнопку, которая откроет Adobe Reader для отображения PDF-файла (через всплывающее окно в приложении или встроенное, предпочтительно встроенное). В настоящее время, когда я нажимаю кнопку, экран слегка тускнеет, а затем возвращается в нормальное состояние после второго касания. Основываясь на том, что я ищу, я предполагаю, что это будет через IBaction, и в настоящее время у меня есть следующее:

ч файл:

#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UIDocumentInteractionControllerDelegate>
@property (nonatomic, strong) IBOutlet UIWebView *webView;
@end

м файл:

#import "ViewController.h"
@interface ViewController ()
@property (strong, nonatomic) UIDocumentInteractionController *controller;
@end

@implementation ViewController
@synthesize webView;

//code for pdf file

- (IBAction)openDocument:(id)sender {

NSURL *adobeURL = [[NSBundle mainBundle] URLForResource:@"Interactive_Collateral_Form" withExtension:@"pdf"];
self.controller = [UIDocumentInteractionController interactionControllerWithURL:adobeURL];
self.controller.delegate = self;
self.controller.UTI = @"com.adobe.pdf";

[self.controller presentOpenInMenuFromRect:self.view.bounds inView:self.view animated:YES];
    }

//code for background gif image

- (void)viewDidLoad
{
NSString *pathImg = [[NSBundle mainBundle] pathForResource:@"background" ofType:@"gif"];
NSString* webViewContent = [NSString stringWithFormat:
                            @"<html><body><img style='width:760;height:1024;' src=\"file://%@\"     /></body></html>", pathImg];
[webView loadHTMLString:webViewContent baseURL:nil];

webView.scrollView.bounces = NO;
webView.scrollView.scrollEnabled = NO;
webView.opaque=FALSE;
[webView setBackgroundColor:[UIColor clearColor]];
      }

Я предполагаю, что могу добавить один и тот же код ко всем различным контроллерам представления. Если это не так, дайте мне знать. Я не силен в этом, поэтому любые подробности, которые вы можете дать, будут полезны. Заранее спасибо!


person user3246366    schedule 19.02.2014    source источник
comment
Ваш вопрос не ясен. У вас есть проблема с кодом, который вы разместили, или вы просто хотите знать, как использовать этот же вход в нескольких контроллерах представления?   -  person rmaddy    schedule 19.02.2014
comment
Извините за путаницу, когда я сейчас нажимаю кнопку в контроллере представления, все немного тускнеет. Когда я снова касаюсь экрана, он возвращается в нормальное состояние. Ничего не происходит, когда PDF или ридер отображаются так, как мне нужно.   -  person user3246366    schedule 19.02.2014
comment
Попробуйте представить UIDocumentInteractionController из кнопки вместо всего self.view.   -  person rmaddy    schedule 19.02.2014
comment
Я думаю, что UIDocumentInteractionController может быть не тем, что мне действительно нужно. Я просто хочу, чтобы PDF-файл автоматически открывался в средстве просмотра при нажатии моей специальной кнопки. (спасибо за терпение ко мне)   -  person user3246366    schedule 19.02.2014
comment
Не лучше ли было бы позволить пользователю выбрать приложение для просмотра PDF? Это то, что будет делать UIDocumentInteractionController — пусть пользователь выбирает.   -  person rmaddy    schedule 19.02.2014
comment
Это конкретное приложение будет использоваться только внутри нашего отдела продаж. Приложение является инструментом продаж, поэтому я просто хочу, чтобы они могли нажать кнопку, заполнить интерактивную форму PDF и вернуться к использованию приложения. Я пытался использовать веб-просмотр, но интерактивные части не работают. Предоставление этим парням слишком большого количества вариантов приведет к тому, что они все вместе пропустят форму ... они не настолько разбираются в технологиях!   -  person user3246366    schedule 19.02.2014


Ответы (1)


После долгих исследований я понял, что делать. Я сохранил локальный PDF-файл в приложении Adobe Reader. Оттуда я добавил следующую схему URL-адресов, чтобы моя кнопка открывала PDF-файл в Adobe Reader без использования UIDocumentInteractionController. Затем просто свяжите IBAction с вашей кнопкой.

ч файл:

- (IBAction)adobeButton;

м файл:

- (IBAction)adobeButton {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"com.adobe.Adobe-Reader://Interactive_Collateral_Form.pdf"]];
}
person user3246366    schedule 20.02.2014
comment
Как я могу сохранить локальный PDF-файл в приложении Adobe Reader? - person jason zhang; 22.10.2014