iOS 显示 pdf 的部分下载,仅第一页

问题描述 投票:0回答:2

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

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

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

类似的问题,但对于Android: 如何在下载完成之前显示PDF的第一页

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

ios pdf
2个回答
1
投票

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

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

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

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

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

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

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


0
投票

我也有同样的问题。我找到了一个解决方案,使用 Adobe PDF Embed API 请参阅下面的链接

https://developer.adobe.com/document-services/docs/overview/pdf-embed-api/

© www.soinside.com 2019 - 2024. All rights reserved.