2013-09-03 2 views
0

Я динамически создаю файл PDFs в своем приложении, используя библиотеку Apache PDFBox. У меня есть страница jsp, у которой есть кнопка «Печать». Когда пользователь нажимает на эту кнопку печати, я хочу сгенерировать PDF-файл и в то же время показать pdf-файл в браузере и применить метод window.print(). Как я могу достичь этого на моей странице jsp?Печать файла pdf, хранящегося на сервере на клиентской стороне принтера

ответ

2

Создать pdf link on your page and the link should be mapped to the actual location PDF существует на вашем сервере.

Браузер фактически обрабатывает, что делать с pdf (в зависимости от настроек браузера) .... нужно ли его загрузить или открыть с помощью плагина. В нижней строке вы не можете управлять им с помощью кода на стороне сервера.

В любом случае вы не можете применить window.print(), поскольку это применимо только к окну браузера, а не к плагину PDF-плагина, или если оно загружается, тогда он должен вручную открыть его.

+0

спасибо за ваш ответ и объяснение :) –

1

Существует альтернативное решение этого вопроса. Это показывает pdf в div в вашем html и печатает этот div.

О том, как показать PDF в HTML DIV вы можете посмотреть Display Adobe pdf inside a div

Для печати DIV или любой другой HTML элемент есть JQuery плагины доступны. Я использовал print.js, который будет печатать html div, он также будет поддерживать ваш css.

Поэтому, когда пользователь нажимает кнопку печати, сначала показывайте pdf в div, а затем вызывайте функцию печати для печати этого div.