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