我想在我的webapp..i需要有关建议,我该怎么做才能提供打印功能,?? web应用程序是建立用jsp / servlet的[暂停]

问题描述 投票:-7回答:1

我想在我的webapp提供打印功能。

我不想下载的文件,然后打印 - 我想提供直接打印功能,使用户不必下载文件和打印。

当窗体或报表显示给用户,他得到报告上的打印按钮,当他点击打印按钮可用打印机显示或假设打印机对话框打开。

完整的Web应用程序是内置的j2ee,所以我需要在JSP / Servlet中的解决方案。

请帮助。

java jsp servlets java-ee printing
1个回答
1
投票

最简单的方法是,以显示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>

Servlet的:

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();
© www.soinside.com 2019 - 2024. All rights reserved.