如何在UIWebView中显示本地pdf文件?

时间:2012-03-04 14:11:23

标签: iphone objective-c pdf uiwebview

我是Objective-C和iOS开发的新手。我无法在UIWebView中显示本地pdf文件。我正在设置一个数组来保存文件名,然后在UIWebView中显示它们。任何帮助将不胜感激!

来自MasterViewController.m :(设置pdf文件名数组)

[mCommands addObject:[[NSDictionary alloc]
                    initWithObjectsAndKeys:@"Break",@"name",@"cmd_break.pdf",@"url",nil]];
[mCommands addObject:[[NSDictionary alloc]
                    initWithObjectsAndKeys:@"Close",@"name",@"cmd_close.pdf",@"url",nil]];

来自DetailViewController.m :(在UIWebView中显示pdf文件)

NSString *filename = [self.detailItem objectForKey:@"name"];
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"];
NSURL *detailURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:detailURL];
[self.detailWebView loadRequest:request];

1 个答案:

答案 0 :(得分:2)

将pdf加载到视图中的代码。

但是文件路径可能是错误的。当你使用:

[[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"];

它只需要文件名,它会附加类型字符串。所以你可能会得到一个以结尾的结果 cmd_break.pdf.pdf

通过以下方式验证:

NSString *filename = [self.detailItem objectForKey:@"url"];
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:@"pdf"];
NSLog(@"%@", path);

是的,正如Richard J. Ross III指出的那样。你在字典中使用了错误的密钥。 “name”-key将为您提供“Break”,而“url”-key将为您提供“cmd_break.pdf”。

相关问题