如何从iPhone的文档目录中读取pdf文件?

Sam*_*mar 4 iphone multithreading pdf-reader ios nsdocumentdirectory

目前我在iPhone应用程序中工作,我在资源文件夹(本地pdf文件)中有一个pdf文件,然后我成功读取了pdf文件(paper.pdf),下面我提到了阅读本地pdf文件供您参考.

例:

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("paper.pdf"), NULL, NULL);
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
CFRelease(pdfURL);
Run Code Online (Sandbox Code Playgroud)

然后我试图在NSDocument目录中存储pdf文件(来自URL),成功存储.

NSData *pdfData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.msy.com.au/Parts/PARTS.pdf"]];

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
 NSString *documentsDirectory = [paths objectAtIndex:0]; 
 NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myPDF11.pdf"];
 [pdfData writeToFile:filePath atomically:YES];
Run Code Online (Sandbox Code Playgroud)

然后我尝试读取该pdf文件(来自NSDocument目录),但我不知道,请帮助我.

提前致谢

Nit*_*hel 9

非常简单请使用下面的代码来显示从文档目录到Webview的pdf

从文档目录加载PDF

 - (void)viewDidLoad
 {
[super viewDidLoad];

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)];
webView.scalesPageToFit = YES;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
 NSString *documentsDirectory = [paths objectAtIndex:0]; 
 NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myPDF11.pdf"];

NSURL *targetURL = [NSURL fileURLWithPath:filePath];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

[self.view addSubview:webView];
[webView release];
 }
Run Code Online (Sandbox Code Playgroud)

从Application Bundle资源文件夹加载PDF

 - (void)viewDidLoad
 {
[super viewDidLoad];

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)];
webView.scalesPageToFit = YES;

NSString *path = [[NSBundle mainBundle] pathForResource:@"myPDF11" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

[self.view addSubview:webView];
[webView release];
 }
Run Code Online (Sandbox Code Playgroud)


ser*_*gio 8

试着用这个:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myPDF11.pdf"];

NSURL *pdfUrl = [NSURL fileURLWithPath:filePath];
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
CFRelease(pdfURL);
Run Code Online (Sandbox Code Playgroud)

来自NSURL参考:

NSURL类与其Core Foundation对应物CFURLRef进行免费桥接.有关免费桥接的更多信息,请参阅"免费桥接".