【问题标题】:iOS display partial download of pdf, only first pageiOS显示部分下载的pdf,只有第一页
【发布时间】:2013-06-20 05:10:11
【问题描述】:

是否可以显示部分下载的 pdf?

我的应用只需要 pdf 的第一页。问题是所有在线 PDF 的大小都是 25mb 或更大。优化应用程序不是一种选择:(

需要下载整个 PDF 才能显示和保存,但我想先显示预览。

一个类似的问题,但对于 android: How to Display first page of PDF before downloading is completed

我确实了解在 iOS 中下载数据,但我如何知道页面在 PDF 数据中的什么位置结束,所以我可以显示它。

【问题讨论】:

  • 除非您的 pdf 是线性化的,即针对第一页的早期显示进行了优化,显示它所需的数据可能会遍布整个文档。

标签: ios pdf


【解决方案1】:

是的,您可以这样做,但 PDF 需要以线性化格式预先构建。这是 PDF 规范的一部分,有时也称为快速网络视图。

线性化 PDF 与普通 PDF 相同,但文档中的对象以特定方式排序,并带有某些额外信息,这使得处理部分数据成为可能。

特别是第一页的对象包含在文件的开头,以便可以快速显示第一页。

因此,我认为您没有理由不下载 PDF 开头的对象并使用它们来显示第一页。您可以使用提示表快速访问选定的其他页面,但这会非常复杂。

但本质是您需要为第一页选择第一组对象。这些应该从“%PDF”标题到第一个“%%EOF”。我不确定您的环境是否会抱怨缺少(但不是必需的)对象,但如果确实如此,您需要在二进制级别上将它们清空,以便您拥有内部一致的第一页 PDF。

有关 PDF 线性化的完整详细信息,请参阅 Adob​​e PDF 规范。

我的答案可能包含基于 ABCpdf .NET 的概念。这就是我的工作。这是我所知道的。 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 2014-01-30
    • 2021-11-20
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多