在iPhone上的Safari中打开PDF

在iPhone上的Safari中打开PDF,iphone,objective-c,cocoa-touch,pdf,Iphone,Objective C,Cocoa Touch,Pdf,是否可以在Safari中从网站打开PDF以将其保存到本地磁盘?Safari将打开PDF,但不会保存以供以后检索。您可以使用将PDF文件下载到您的文档目录,而无需在Safari中打开它(随后终止您自己的应用程序) 使显示外部PDF以及本地文件变得非常方便(只需指向正确的文件路径),因此您甚至可以将PDF下载到文档文件夹,然后在以后从本地缓存中显示 在下面添加了一些示例代码 举个简单的例子,你可能会发现这对你的应用来说是可以接受的;这会将文件下载到您的documents文件夹,但会使用阻止功能(in

是否可以在Safari中从网站打开PDF以将其保存到本地磁盘?

Safari将打开PDF,但不会保存以供以后检索。

您可以使用将PDF文件下载到您的文档目录,而无需在Safari中打开它(随后终止您自己的应用程序)

使显示外部PDF以及本地文件变得非常方便(只需指向正确的文件路径),因此您甚至可以将PDF下载到文档文件夹,然后在以后从本地缓存中显示

在下面添加了一些示例代码

举个简单的例子,你可能会发现这对你的应用来说是可以接受的;这会将文件下载到您的documents文件夹,但会使用阻止功能(
initWithContentsOfURL
),因此您可能会遇到文件大/连接速度慢的问题:

(此代码应该是您所需要的全部,但您可能需要创建一个函数来处理此步骤/处理内存/检查错误等)

为了给您一个基本的构建示例,以下代码足以在webview中的Documents文件夹中显示PDF文件:

-(void)viewDidLoad
{
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths objectAtIndex:0];
  NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:@"doc.pdf"];

// ...

  webView.scalesPageToFit = YES;
  webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);

  [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:pdfPath isDirectory:NO]]];

}

如果您希望直接从网站(而不是本地文件)显示PDF,则可以让
pdfPath
包含文件的完整URL。

Hi,davbryn有没有任何示例或weblink教程或代码来完成这类工作…我想将我的UIWebView内容转换为pdf格式,并将其存储在文档目录中以供以后使用。。。
-(void)viewDidLoad
{
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths objectAtIndex:0];
  NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:@"doc.pdf"];

// ...

  webView.scalesPageToFit = YES;
  webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);

  [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:pdfPath isDirectory:NO]]];

}