【问题标题】:Displaying a PDF file into UIWebView在 UIWebView 中显示 PDF 文件
【发布时间】:2011-10-10 11:40:57
【问题描述】:

我想在UIWebView 中显示一个 pdf 文件。我的 PDF 来自网络服务,我能够成功地将其存储在文档目录中。但是当我尝试将 PDF url 加载到我的UIWebView 中时,它会显示一个空白的 web 视图。没有错误报告。

有没有人知道这里可能出了什么问题或者我如何才能更好地调试这个问题?

【问题讨论】:

  • 您是如何尝试将 pdf 加载到 UIWebView 中的?请添加一些代码..
  • 你能在加载 URL 的地方贴一些代码吗?

标签: iphone objective-c pdf uiwebview


【解决方案1】:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//Considering your pdf is stored in documents directory with name as "pdfFileName"

NSString *pdfPath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"mynewDocument.pdf"];
NSURL *url = [NSURL fileURLWithPath:pdfPath];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];

使用调试器检查url 的内容。它应该指向确切的pdf 位置。 另外,您可以使用UIWebView 的委托方法:-

-(void)webViewDidFinishLoad:(UIWebView *)webView;
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

【讨论】:

  • 嗨,shri,我写的代码和你上面写的一样。但我仍然无法将 pdf 显示到 UIwebview 中。如果我将任何其他 pdf 文件添加到可以正常工作的资源文件夹中,唯一的问题是当我想在 base64 解码后将生成的 pdf 文件显示到 UIwebview 时。它显示空白页,我不知道为什么会发生 pdf 未正确保存或由于另一件事而出现问题。请提前回复谢谢。
  • 好的。三件事 1)当您说您可以将文件保存在 Documents Directory 中时,您是否真的检查了文件目录(模拟器的,因为它更容易检查)并确保文件存储正确并且您能够打开和阅读它??? 2)你可以发布一些你保存到文档目录并使用base64解码的代码3)另外,url的内容是什么? pdf名称应与documnets目录中保存的名称完全匹配
  • 是的,我可以在文档目录中检查它。我也能够打开并阅读它。 URL 生成的路径是这个文件://localhost/Users/pareshkarnawat/Library/Application%20Support/iPhone%20Simulator/4.3.2/Applications/15FEA076-2600-4C74-8C44-137A6DA48EB7/Documents/mynewDocument。 .pdf我也将这个pdf打开到uiwbview NSURL *url = [NSURL fileURLWithPath:finalUrlPath]; [pdfContent writeToURL:url atomically:YES]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; [pdfView loadRequest:urlRequest];
  • 我在本地尝试了相同的代码并且它的工作。您是否在代码中的文件中添加了 .pdf 扩展名?另外,你为什么使用 [pdfContent writeToURL:url atomically:YES];???如果您从 web 服务获取此 pdf,我建议您在一段时间后加载 webview,因为如果 pdf 很大,可能会在 pdf 写入文档目录之前调用 loadRequest(只是猜测)。要检查这一点,请将 pdf 从 finder 手动复制到文档目录,然后运行应用程序。
  • 嘿,Shri,我还在为 pdf 文件而苦苦挣扎。我正在尝试将生成的 pdf 加载到 UIwebview 中,但它没有打开。相反,如果我手动使用另一个 pdf 它可以正常工作。我猜在存储 pdf 时它可能无法正确保存。您是否有代码如何将 NSData 作为扩展名 pdf 保存到文件中并将其保存到目录中。这样我就可以得到那个 pdf 在 UIWebview 中显示它。感谢您宝贵的时间。
猜你喜欢
  • 2012-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
相关资源
最近更新 更多