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