【问题标题】:How to save a PDF file from WebView in iBooks or an other PDF readable app?如何将 WebView 中的 PDF 文件保存在 iBooks 或其他 PDF 可读应用程序中?
【发布时间】:2015-01-31 14:50:04
【问题描述】:

我有一个带有 WebView 的 Xcode (iPhone) 应用程序。我在这个 WebView 中的主页包含一个 PDF 文件。我可以打开这个 PDF 文件。但我无法保存它。

在普通的 Safari 浏览器中,有“在…中打开”和“在“iBooks”中打开”按钮。但在我的 WebView 中,我只能打开 PDF 文件。我无法在 iBooks 或任何其他应用程序中保存/打开/打开。为什么?有人可以帮我吗?感谢您的每一个回答。

【问题讨论】:

  • 你在 webview 中从哪里打开 pdf 文件?
  • 我直接从互联网打开它,而不是从本地目录。你能帮帮我吗?
  • 因为您使用自定义 UIWebView 您必须创建它包含的操作。对于下载它很容易。创建一个目录,然后将文件保存到其中。在您使用的设备上安装的任何应用程序中打开 UIDocumentInteractionController 网上有很多教程。先做一些研究

标签: ios pdf ibooks


【解决方案1】:

您可以以NSData的形式下载pdf文件并保存在文档目录中。

NSURL *url = [NSURL URLWithString:@"deu-net.com/Berlin-Buch/14Buch.pdf"];
NSData *dataPdf = [NSData dataWithContentsOfURL:url];

//Get path directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

//Create PDF_Documents directory
documentsDirectory = [documentsDirectory stringByAppendingPathComponent:@"PDF_Documents"];
[[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectory withIntermediateDirectories:YES attributes:nil error:nil];

NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory, @"**PUT FILENAME YOU WANT**"];

[dataPdf writeToFile:filePath atomically:YES];

【讨论】:

  • 我必须在哪里设置它。在 ViewController.m 中?
  • 是的。根据您的要求,您可以将此代码放在按钮的 viewDidLoad 或 IBAction 中。
  • 我在 ViewController.m 中的“- (void)viewDidLoad {”下复制了这段代码,对吧?
  • 是的,如果您想在视图加载后立即保存文件。
  • 我得到两个错误: NSData *dataPdf = [NSData dataWithContentsOfURL:pdfOnline.url];使用未声明的标识符 'pdfOnline' [[NSFileManager defaultManager] documentsDirectory withIntermediateDirectories:YES attributes:nil error:nil];预期的“:”我该怎么做才能解决这个错误?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多