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

标签 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];

最佳答案

您将 pdf 加载到 View 中的代码正确。

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

[[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”键将为您返回“Break”,而“url”键将为您提供“cmd_break.pdf”。

关于iphone - 如何在UIWebView中显示本地pdf文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9555543/

相关文章:

ios - 如何将应用商店应用链接添加到应用内,而不是打开 "app store.app"?

objective-c - 解析保存到文本文件的字符串

objective-c - 为什么 Objective-C 属性有点不方便?

pdf - iText - 仅加密嵌入文件

pdf - 使用证书库中的证书签署 PDF

javascript - 如何使用node.js将pdf文件保存在mysql中?

iphone - 一个设备可以在多个 iOS Developer Program Account 中吗?

iphone - 子类化 UITableView 因此它不需要 xib

iphone - 在 NIAttributedLabel 中设置链接属性

objective-c - 将 vCard 数据直接添加到系统地址簿