У меня есть веб-сайт ASP.NET, и с одной из веб-страниц мне нужно создать документ PDF, содержащий вывод набора веб-страниц, которые пользователь выбирает. Я называю это «пакетный PDF». В принципе, пользователю предлагается выбрать, какие веб-страницы ей нужно поместить в PDF, а затем нажать кнопку, которая создает PDF-файл со всеми выбранными веб-страницами в нем.Дизайн генерации PDF
Для этого я отправляю список выбранных страниц (их идентификаторы) через строку запроса и на сервере для каждого идентификатора веб-страницы в строке запроса он генерирует http-запрос на localhost и получает страницу PDF из этого запроса (у меня есть Request.Filter
, который делает преобразование из HTML в PDF). Затем он объединяет все потоки PDF в один PDF-файл и выгружает его в поток ответов. Все работает.
Но я хотел бы сделать это с помощью AJAX. В настоящее время открывается новое окно браузера, и пользователю нужно дождаться завершения работы сервера, прежде чем она увидит страницу. Вместо этого я хотел бы отправить запрос AJAX и, когда PDF-версия завершится, показать PDF.
Один из способов сделать это - записать PDF-файл в файл на сервере, когда AJAX отправляет запрос, а затем перенаправляется на этот файл, но есть ли способ избежать беспорядка с файлами? Например, могу ли я поставить весь PDF в сессию? Любые другие идеи?
Спасибо.
благодарит за вашу помощь. Я сделал что-то подобное. для преобразования страниц в PDF, я использую сторонний инструмент ABCPdf, который принимает html и испускает PDF. здесь есть соответствующее обсуждение: http://stackoverflow.com/questions/564650/convert-html-to-pdf-in-net – akonsu