我有一个基于J2EE的Web应用程序。
在其中一个页面中有一个标有“打印”的按钮。
我的问题是这样的:
用户输入工具名称,例如: ToolName1 ToolName2 ToolName3
然后点击“打印”。
预期的操作是从db检索3个工具的工具详细信息,然后每页打印一个工具。 (即单击此按钮时,应在后台数据库检索中进行一些处理,然后再将详细信息发送到打印机...)
请建议如何最好地完成打印网页的任务。
希望问题很清楚。
提前致谢...:)
答案 0 :(得分:3)
你可以让按钮调用Javascript:
<script>
function printPage() {
window.print();
}
</script>
你可以使用类似的东西来打电话:
<form>
<input TYPE="button" onClick="printPage()">
</form>
或直接作为:
<input TYPE="button" onClick="window.print()">
如果您需要将输出格式化为多个页面,则可以使用 page-break-before CSS属性。例如:
<style>
div.tool {
page-break-before: always
}
</style>
<div class="tool" id="tool1">
...
</div>
<div class="tool" id="tool2">
...
</div>
你可以把它放在GuidoGarcía建议的“打印”特定样式表中。
答案 1 :(得分:3)
在客户端,您只需拨打window.print();
其他提示:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
答案 2 :(得分:1)
打印按钮应将表单提交到您准备要打印的输出的服务器(工具详细信息等)。这通常使用您的JSP页面或其他任何方式呈现。
要完成这项工作,请在结果页面上调用window.print()
,并在页面加载(或文档就绪事件)上触发。
答案 3 :(得分:0)
在客户端我猜?如果是这样,关于Java,关于JavaScript,什么也没有。只需调用window.print()方法,它将提示打印对话框窗口。
答案 4 :(得分:0)
如果您要打印的页面需要额外的逻辑,您可以执行以下任一操作:
两者都有其优势。
我还建议您不仅要依赖Javascript。当打印按钮因为您没有运行JS而无法打印时,可能会相当混乱。 我建议你创建一个常规的html链接,进入待打印的页面,用户可以使用浏览器的打印按钮。 使用javascript隐藏此链接并将其替换为javascript依赖按钮。 这将确保按钮仅在启用javascript时显示。