延迟加载PDF文件

时间:2011-10-21 10:50:06

标签: asp.net-mvc asp.net-mvc-3 pdf browser lazy-loading

我目前正在开发一个提供大型PDF文件的企业内部网。当用户必须等待整个PDF文件下载才能查看它们时,用户会感到沮丧。我在其他面向公众的网站上使用嵌入式Google文档查看器(http://googlesystem.blogspot.com/2009/09/embeddable-google-document-viewer.html)来进行延迟加载和文档导航的简易性,但这是不可行的,因为Intranet需要该解决方案。是否有可能在浏览器中实现延迟加载PDF,如果是这样,对此有什么要求呢?我正在使用ASP .NET MVC 3

由于

2 个答案:

答案 0 :(得分:1)

您应该确保您的服务“线性化”(针对网络进行了优化)的PDF文档。它允许浏览器部分下载PDF文档以快速显示第一页。当用户导航到另一页面时,再次下载PDF文档的一部分。这是一篇关于这个主题的好文章: http://www.jpedal.org/PDFblog/2010/02/linearized-pdf-files/

在这种情况下,您不会直接写入Response流。

答案 1 :(得分:0)

首先 - 这个问题与ASP.NET MVC无关。

第二 - 这个问题与延迟加载无关。延迟加载是对象关系映射中的“模式”,它不是流式传输的同义词

最后 - 它取决于您使用的PDF查看器。浏览器不显示PDF文件,浏览器中有一些插件,通常是Adobe Reader。所以你的问题实际上是:

我可以流式传输PDF文件,以便在客户端完整之前将其打开并阅读吗?

据我所知,是的,你可以。但是您必须使用.NET流 - 例如“插入”HttpContext Response流作为PDF生成器的输出。