【问题标题】:Add a PDF from Internet(URL) to NSArray [closed]将 PDF 从 Internet(URL)添加到 NSArray [关闭]
【发布时间】:2013-11-30 19:38:27
【问题描述】:

如何将来自 Internet(URL) 的 PDF 添加到 NSArray? 这样我就可以使用 ActivityViewController 打印此 PDF。 我不会将 URL 保存在数组中,特别是 PDF 本身。

编辑;

NSArray *items = @[self.background.request.URL.absoluteString];

我使用此代码,但这仅保存 URL 而不是 pdf 本身。

【问题讨论】:

  • 我在您的代码中没有发现任何问题
  • 我已经编辑了问题

标签: ios pdf nsarray


【解决方案1】:

实际上,将多个 PDF 文件的文件内容存储到一个数组中并不是一个好主意,因为这会消耗太多内存(而且很可能大多数时候您甚至不需要它)。

最好将文件下载到应用的缓存或文档文件夹,然后从那里加载/打印文件。当然你可以将文件下载到内存中,但是对于大文件,这肯定会失败。

所以在数组中你可能只想拥有 URL 或文件名。一旦您知道您需要哪个文件,您就可以实际加载它(从您的下载位置或从 URL)并使用它做任何您需要做的事情。

但是您的问题的答案是:

// CAUTION: This will block the thread while downloading
NSArray *items = [NSArray arrayWithObject:[NSData dataWithContentsOfURL:[NSURL URLWithString:self.background.request.URL]]];

该语句会将 PDF 文件的内容存储为 NSData 并将其放入数组中。要将更多文件放入数组中,您可以使用[NSArray arrayWithObjects:..., nil]

【讨论】:

  • 感谢您的回答。我将在 Arena 中存储的 PDF 只有 200kb 可以给我一个代码示例吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-28
  • 1970-01-01
相关资源
最近更新 更多