2

我有一个基于 J2EE 的 Web 应用程序。

在其中一页中有一个标有“打印”的按钮。

我的问题是这样的:

用户输入工具名称,例如:ToolName1 ToolName2 ToolName3

然后点击“打印”。

预期的操作是从 db 中检索 3 个工具的工具详细信息,然后每页打印一个工具。(即单击此按钮时,应在后台数据库检索中进行一些处理,然后再将详细信息发送到打印机...)

请建议如何最好地完成打印网页的任务。

希望问题很清楚。

提前致谢...:)

4

5 回答 5

4

您可以让按钮调用一些 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>

您可以按照 Guido García 的建议将其放在“打印”特定样式表中。

于 2008-10-14T10:01:54.007 回答
3

在客户端,你可以打电话window.print();

其他提示:

  • 您可以使用打印机友好的 CSS 来自定义您的页面演示:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
  • 您可以使用生成页面的 PDF 版本的服务器端组件。在许多情况下,对最终演示文稿进行深入控制是很有趣的。
于 2008-10-14T10:05:51.503 回答
2

打印按钮应将表单提交到您准备要打印的输出(工具详细信息等)的服务器。这会像往常一样使用您的 JSP 页面或其他方式呈现。

要完成这项工作,请在结果页面上调用window.print()并在页面加载(或文档就绪事件)时触发它。

编辑:嗯。我应该看看日期。哦,好吧,建议成立。

于 2010-11-04T15:41:57.603 回答
0

我猜在客户端?如果是这样,那么除了 JavaScript 之外,没有什么是关于 Java 的。只需调用 window.print() 方法,它就会提示一个打印对话框窗口。

于 2008-10-14T10:00:11.220 回答
0

如果您要打印的页面需要额外的逻辑,您可以执行以下任一操作:

两者都有自己的优势。

我还建议您不要只依赖 Javascript。由于您没有运行 JS,因此无法打印打印按钮时可能会相当混乱。我建议您创建一个常规的 html 链接,该链接指向要打印的页面,用户可以在其中使用浏览器的打印按钮。使用 javascript 隐藏此链接并将其替换为 javascript 相关按钮。这将确保该按钮仅在启用 javascript 时显示。

于 2008-10-14T10:21:10.817 回答