Самый простой способ - показать ваш контент в 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();