Ленивая загрузка PDF файлов - PullRequest
       14

Ленивая загрузка PDF файлов

1 голос
/ 21 октября 2011

В настоящее время я разрабатываю корпоративную интрасеть, которая обслуживает большие файлы PDF. Пользователи разочаровываются, когда им приходится ждать загрузки целых файлов PDF, прежде чем они смогут их просматривать. Я использовал встроенный просмотрщик документов Google (http://googlesystem.blogspot.com/2009/09/embeddable-google-document-viewer.html) на других общедоступных веб-сайтах для отложенной загрузки и упрощения навигации по документам, но это неосуществимо, поскольку для интранета требуется решение. Можно ли добиться ленивой загрузки верстки PDF в браузере и, если да, каковы требования для этого? Я использую ASP .NET MVC 3.

Спасибо

Ответы [ 2 ]

1 голос
/ 21 октября 2011

Вы должны убедиться, что PDF-документы, которые вы используете, «линеаризованы» (оптимизированы для Интернета). Это позволяет браузеру частично загружать документ PDF для быстрого отображения первой страницы. Когда пользователь переходит на другую страницу, снова загружается только часть документа PDF. Вот хорошая статья на эту тему: http://www.jpedal.org/PDFblog/2010/02/linearized-pdf-files/

В этом случае вы не будете писать напрямую в поток ответа.

0 голосов
/ 21 октября 2011

Во-первых - этот вопрос не имеет ничего общего с ASP.NET MVC ..

Второе - этот вопрос не имеет отношения к отложенной загрузке. Ленивая загрузка - это «шаблон» в объектно-реляционном отображении, это не синоним потоковой передачи

Наконец - это зависит от используемого вами средства просмотра PDF. Браузер не отображает файлы PDF, некоторые плагины в браузере, как правило, Adobe Reader. Итак, ваш вопрос на самом деле:

Могу ли я потоковое воспроизведение файла PDF, чтобы его можно было открыть и прочитать до того, как оно будет полностью на клиенте?

Насколько я знаю, да, вы можете. Но вы должны использовать потоки .NET - например, «подключить» поток ответа HttpContext в качестве вывода вашего генератора PDF.

...