Я динамически создаю файл PDFs в своем приложении, используя библиотеку Apache PDFBox. У меня есть страница jsp, у которой есть кнопка «Печать». Когда пользователь нажимает на эту кнопку печати, я хочу сгенерировать PDF-файл и в то же время показать pdf-файл в браузере и применить метод window.print(). Как я могу достичь этого на моей странице jsp?Печать файла pdf, хранящегося на сервере на клиентской стороне принтера
ответ
Создать pdf link on your page and the link should be mapped to the actual location
PDF существует на вашем сервере.
Браузер фактически обрабатывает, что делать с pdf (в зависимости от настроек браузера) .... нужно ли его загрузить или открыть с помощью плагина. В нижней строке вы не можете управлять им с помощью кода на стороне сервера.
В любом случае вы не можете применить window.print(), поскольку это применимо только к окну браузера, а не к плагину PDF-плагина, или если оно загружается, тогда он должен вручную открыть его.
Существует альтернативное решение этого вопроса. Это показывает pdf в div в вашем html и печатает этот div.
О том, как показать PDF в HTML DIV вы можете посмотреть Display Adobe pdf inside a div
Для печати DIV или любой другой HTML элемент есть JQuery плагины доступны. Я использовал print.js, который будет печатать html div, он также будет поддерживать ваш css.
Поэтому, когда пользователь нажимает кнопку печати, сначала показывайте pdf в div, а затем вызывайте функцию печати для печати этого div.
спасибо за ваш ответ и объяснение :) –