0

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

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

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

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

我确实了解在 iOS 中下载数据,但我怎样才能知道页面在 PDF 数据中的哪个位置结束,所以我可以显示它。

4

1 回答 1

1

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

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

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

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

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

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

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

于 2013-06-20T11:29:38.360 回答