У меня уже есть функциональность для создания pdf-файла для отчетов, которые отображаются пользователем.Запись содержимого строки в формате PDF
Так что в настоящее время он делает, когда пользователь нажимает на кнопку Печать PDF
- Получить содержимое HTML в DIV, который должен быть напечатан
- Отправить это содержание метода контроллера с помощью JQuery Ajax метод с POST
- В контроллере он обертывает содержимое строками документа html, такими как
<html>
,<body>
и т. д. Кроме того, я добавляю некоторые стили. - Затем эта строка html передается одному из инструментов, которые я использую, который возвращает мне pdf-байты для этой строки.
- Затем он сохраняет эти байты в формате pdf в папке и возвращает путь к этому файлу.
- JQuery затем по методу успеха открывает окно для этого пути.
Это все работает нормально.
Проблема заключается в том
- Он не сразу открывает окно, как это делает всю обработку, а затем в случае успеха он открывает окно
- Plus Я интересно, если я делаю все это правильно или делая некоторые лишние лишние шаги, из этого я имею в виду, есть ли лучший способ или короткий способ сделать это.
Что-то вроде того, что после получения содержимого div внести некоторые изменения в строку, чтобы показать ее в новом окне в виде PDF-контента и т. Д., Чтобы избежать обработки сервера, возможно ли это?
До сих пор я пытался показать контент напрямую с помощью data:application/pdf
, но это не сработало.
Если это невозможно, я думаю, чтобы избежать сохранения PDF-файла, но просто показать вид, который откроется как PDF, может быть, установив его content-type
, возможно ли это?