Как сохранить и просмотреть файл PDF через приложение на iPhone? - PullRequest
0 голосов
/ 04 августа 2009

Я пытаюсь сохранить файл PDF в SQLite. Я думаю, что это будет возможно, сохранив файл PDF в виде BLOB-объекта. И проблема начинается здесь, как просмотреть этот файл в приложении iPhone сейчас? Я знаю, что это можно сделать с помощью этого кода: -

 @interface PDFViewController : UIViewController  {
        UIWebView *webView;
        NSURL *pdfUrl;
    }

    @property (nonatomic, retain) IBOutlet UIWebView *webView;
    @property (nonatomic, retain) NSURL *pdfUrl;

    @end



@implementation PDFViewController

@synthesize webView, pdfUrl;
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Tells the webView to load pdfUrl
        [webView loadRequest:[NSURLRequest requestWithURL:pdfUrl]];
    }

Но какое должно быть значение pdfUrl, я запутался ... И если я получу его из БД, он будет в формате BLOB-объектов (метинкс), так как преобразовать его в NSdata объект?

Спасибо всем.

Ответы [ 2 ]

3 голосов
/ 04 августа 2009

Проблема в том, что WebView выполняет загрузку URL, и он не будет понимать такие вещи, как запросы, отличные от http; все же ваше приложение пытается обслужить данные. В общем, вам не повезло, если вы не можете десериализовать блоб из базы данных sqllite, записать его в файл (скажем, в / tmp), а затем открыть файл: /// URL из NSWebView - но Я не верю, что объект позволит вам сделать это.

Вы можете иметь возможность вызывать метод [UIWebView loadData: MIMEType: textEncodingName: baseURL:], который позволит вам извлечь BLOB-объект NSData из базы данных sqllite, предоставив приложение типа mime / pdf, вставьте фиктивную кодировку текста (UTF-8) и базовый URL, и тогда он может делать то, что вы хотите. Но я бы хотя бы попытался это попробовать.

1 голос
/ 04 августа 2009

pdfUrl - это веб-адрес PDF-файла, который вы пытаетесь загрузить с веб-сайта. (т.е. http://website.com/mypdf.pdf)

Прочтите документацию по NSData, у нее есть метод, позволяющий вам создавать объекты NSData на основе того, что вы извлекаете с помощью sqlite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...