У меня есть веб-сайт ASP.NET, и на одной из веб-страниц мне нужно сгенерировать PDF-документ, содержащий выходные данные набора веб-страниц, которые выбирает пользователь.Я называю это "пакетный PDF" .Обычно пользователя просят выбрать, какие веб-страницы ему нужно поместить в PDF, а затем нажимает кнопку, которая создает PDF со всеми выбранными веб-страницами.
Для этого я отправляю списоквыбранных страниц (их идентификаторов) через строку запроса и на сервере для каждого идентификатора веб-страницы в строке запроса он генерирует http-запрос к localhost и получает PDF-файл страницы из этого запроса (у меня есть Request.Filter
, который выполняетпреобразование из HTML в PDF).Затем он объединяет все потоки PDF в один PDF и выгружает его в поток ответов.Все работает.
Но я бы хотел сделать это с помощью AJAX.В настоящее время открывается новое окно браузера, и пользователь должен дождаться завершения работы сервера, прежде чем он сможет увидеть страницу.Вместо этого я хотел бы отправить запрос AJAX и, когда генерация PDF завершена, показать PDF.
Один из способов сделать это - записать PDF-файл в файл на сервере, когда AJAX отправляет запроса затем перенаправить на этот файл, но есть ли способ избежать возиться с файлами?Например, я могу поместить весь PDF в сессию?Есть другие идеи?
Спасибо.