是否可以通过部分下载显示pdf?
我只需要我的应用程序的pdf的第一页。问题是所有PDF在线都是25mb或更大。优化应用程序不是一种选择:(
需要下载整个PDF才能显示并保存,但我想先显示预览。
一个类似的问题,但对于android: How to Display first page of PDF before downloading is completed
我确实理解在iOS中下载数据,但是如何判断页面结尾的PDF数据在哪里,所以我可以显示它。
答案 0 :(得分:1)
是的,您可以这样做,但PDF需要以线性化格式预先构建。这是PDF规范的一部分,有时称为快速网络视图。
线性化PDF与普通PDF相同,但文档中的对象以特定方式排序,并且具有某些额外信息,这使得可以处理部分数据。
特别是第一页的对象专门包含在文件的开头,以便快速显示第一页。
所以我认为没有理由不在PDF的开头下载对象并使用它们来显示第一页。您可以使用提示表来快速访问所选的其他页面,但这将非常复杂。
然而,重要的是你需要为第一页选择group-one对象。这些应该从“%PDF”标题运行到第一个“%% EOF”。我不确定你的环境是否会抱怨缺少(但不是必需的)对象,但如果确实如此,你需要在二进制级别上将它们删空,这样你就可以在内部保持一页PDF格式。
有关PDF线性化的完整详细信息,请参阅Adobe PDF规范。
我的答案可能包含基于ABCpdf .NET的概念。这就是我的工作。这就是我所知道的。 : - )