如何通过iPhone上的应用程序保存和查看PDF文件?
问题描述:
我想在SQLite中保存一个PDF文件。我认为这将可能通过将pdf文件保存为blob。问题从这里开始,现在如何在iPhone应用程序中查看该文件? 我知道它可以使用此代码来完成: -如何通过iPhone上的应用程序保存和查看PDF文件?
@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格式(methinks)如何将其转换为NSdata
对象?
谢谢大家。
答
的问题是,做web视图的URL加载,并且它不会明白的事情像非HTTP请求;但您的应用程序正在尝试提供数据。所以基本上,你运气不好,除非你可以将blob从sqllite数据库中反序列化,把它写入一个文件(在/ tmp中),然后从NSWebView打开一个文件:/// URL - 但我不相信对象会让你这样做。
您可能能够调用[UIWebView的loadData:MIME类型:textEncodingName:基本URL:]方法,它可以让你从sqllite数据库中提取NSData的斑点,提供一个MIME类型的应用程序/ PDF格式的,坚持使用虚拟文本编码(UTF-8)和基本URL,然后它可以做你想做的事。但我会试着至少尝试一下。
答
pdfUrl是您试图从网站下载的PDF的网址。 (即http://website.com/mypdf.pdf)
阅读有关NSData的文档,它有一种方法,允许您创建NSData对象,而不使用使用sqlite提取的内容。
嗨AlBlue,当我从数据库中检索的PDF文件,它不会作为一个url所以应该是什么参数基本URL? – SocialCircus 2009-08-04 10:32:14