Я хочу обеспечить функциональность печати в моем веб-приложении. Мне нужны предложения о том, как я могу это сделать. Веб-приложение построено с использованием jsp / servlet - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу предоставить функции печати в моем веб-приложении. Я не хочу загружать файл, а затем печатать ... Я хочу предоставить функции прямой печати, чтобы пользователю не приходилось загружать файл и распечатывать.. когда форма или отчет отображается пользователю, он получает кнопку печати в отчете, и когда он нажимает на кнопку печати, отображаются доступные принтеры или, например, открывается диалоговое окно принтера.

Полное веб-приложениевстроенный в j2ee, так что мне нужно решение в jsp / servlet ..

пожалуйста помогите ..

1 Ответ

0 голосов
/ 11 февраля 2019

Самый простой способ - показать ваш контент в iframe и использовать функцию javascript window.print.Покажите содержимое для печати в iframe, чтобы избежать печати всей страницы.

EDITED

В jsp:

<html>
<head>
<!-- what you need -->
</head>
<body>
<iframe name=="my-iframe" src="/your-context/showPdfServlet"></iframe>
<!-- buttons -->
</body>

Сервлет:

protected void doGet(...) {
    // generate pdf file through jasper report
    byte[] pdf = ...;
    response.setHeader("Content-Disposition", "inline;filename=pdf-report.pdf");
    response.setContentType("application/pdf"); 
    response.setContentLength(pdf.length);
    OutputStream responseOutputStream = response.getOutputStream();
    responseOutputStream.write(pdf);
    responseOutputStream.flush();
    responseOutputStream.close();
    // ...
}

Кнопка печати onClick Функция JavaScript:

window.frames["my-iframe"].focus();
window.frames["my-iframe"].print();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...