jsp 小票打印(类似超市的收银小票)

时间:2022-02-23 00:59:55
大家好,我现在需要做一个类似于超市的小票打印,不知道用什么写。系统是用jsp写的,其中有一个功能是录入消费数据,也就是顾客消费时的信息,录入完后,想要把这个票据打印出来,不知道这个功能在jsp下怎么实现?各位大侠帮帮忙?

12 个解决方案

#1


你可以将jsp触发java代码嘛,你可以在搜搜打印的代码看看。
直接调用JAVA类。

#2


jsp 做不了的,这是控件做的事情。

#3


建表

插入数据


显示

#4


javax.print

#5


用c++,vb,dephi写一个控件,在jsp页面中直接调用就可以了.

#6


用java报表实现,例如Ireport做模板,用票据做背景,然后JasperReport填充数据,打印,就这么简单。

#7


直接调用后台的java类不可以做到么?

#8


用java报表吧,ireport,不过前提是浏览器要支持applet

#9


如果是套打可能麻烦点,一般的打印简单

#10


请问你需要打印的内容已经显示到页面了吗?
如果显示了,可以直接javacript:document.all.WebBrowser.ExecWB();
如果没显示以可以在做一个页面就是显示一些打印数据的。

#11


很简单,要有条码打印机,用JS调用IE的打印功能就可以了,我以前做过,网上也有不上例子


方法一:
function PrintTable(Id){
                 var mStr;
                 mStr = window.document.body.innerHTML ;
                 var mWindow = window;                
                 window.document.body.innerHTML =Id.innerHTML; 
                 mWindow.print();
                 window.document.body.innerHTML = mStr;
         }

在页面中要打印
<div id="dy">
.......
</div>
<input type="button" value="打    印" onclick="return PrintTable(dy)">

方法二:
/*-----------print.js
Copyright (c) 2002,*************
All rights reserved.
Filename :print.js
Abstract :常用打印函数
Version :1.0
Author    :Liu Guoyuan
Finished Date :2003-03-19
Last Modified :2003-03-20
-------------------------------------------------------------------------------------
*/

with (document)
{//输出样式表表及IE打印控件
         write ("<style type=\"text/css\" media=\"print\">");
         write ("   .noPrint{visibility:hidden}");
         write ("</style>");
         write ("<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0></object>");
}
function doPrintSetup()
{//打印设置
         WB.ExecWB(8,1);
}
function doPrintPreview()
{//打印预览
         WB.ExecWB(7,1);
}
function doPrint()
{
         window.print();
}
function showPrintBar()
{
         with (document)
         {
                 write ("<div align=\"center\" class=\"noprint\">");
                 write ("   <input type=\"button\" name=\"doBack\" value=\" <<返回   \" onClick=\"history.go(-1)\">");
                 write ("   <input type=\"button\" name=\"doPrintPreview\" onClick=\"WB.ExecWB(8,1)\" value=\"打印设置\">");
                 write ("   <input type=\"button\" name=\"doPrint\" value=\"   打印>> \" onClick=\"doPrint()\">");
                 write ("</div>")
         }
}

----------------print.js end------------

页面中使用时:
<script language="JavaScript" type="text/JavaScript" src="print.js"></script>
然后再需要输出打印按钮时:
<script>showPrintBar()</script>

方法三:
打印前把按钮隐藏
<tr><td><input type="button" value="打 印" name="butt" onClick="javascript:hide()"></td></tr>

<script language="javascript">
                 function hide()
                 {
                    document.all.item("butt").style.display="none";
                   
                    window.print();                                
                   }
</script>

方法四:
<style>
@media print{
.noprint{display:none}
}
</style> 
给不打印的区加这个CSS就可以了,在页面上能看见但打印的时候看不到!

方法五:
利用脚本控制打印,可以采用如下方法:
1、execCommand()方法
Print 打开打印对话框以便用户可以打印当前页
即document.execCommand('Print');

2、window.print()

3、   <OBJECT   id=WebBrowser   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=0   width=0>
   </OBJECT>
   <input   type=button   value=打印           onclick=document.all.WebBrowser.ExecWB(6,1)>
   <input   type=button   value=直接打印   onclick=document.all.WebBrowser.ExecWB(6,6)>
   <input   type=button   value=页面设置   onclick=document.all.WebBrowser.ExecWB(8,1)>
   <input   type=button   value=打印预览   onclick=document.all.WebBrowser.ExecWB(7,1)>

方法六:
<%@ page contentType="text/html; charset=GBK"%>
<%
String url="#"
%>

<style media="print">
     .noPrint { display: none }
   </style>
   <style media="screen">
      .print { display: none }
</style>
<html>
<title></title>

<body>

<jsp:include page="<%=url%>" />
<table width="100%" class="noPrint" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="60" align="center">
<input type=button name=button_show value="打     印" onclick="print();">
<input type=button name=button_show value="打印预览" onclick="preview();">
<input type=button name=button_setup value="打印设置" onclick="pageSetup();">
</td>
</tr>
</table>

</body>
<object id="factory" style="display:none" viewastext
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="/etsc/ActiveX/ScriptX.zip#Version=6,1,430,5">
</object>
<script language="javascript" >
         function pageSetup()
         {
                 factory.printing.PageSetup();
         }
         function preview()
         {
                 setPageInfo();
                 factory.printing.Preview();
         }
         function print()
         {
                 setPageInfo();
                 factory.printing.Print(true);
         }

         function setPageInfo(){
                 //factory.printing.header = "&b&b第&p页/共&P页"
                 //factory.printing.footer = "&b&b时间:&D&T"
                 factory.printing.footer = ""
                 factory.printing.leftMargin = 10
                 factory.printing.topMargin = 20
                 factory.printing.rightMargin = 10
                 factory.printing.bottomMargin = 20
         }
</script>
</html> 






FORM:QQ群Java 2  Enterprise Edition(88509302)

#12


学习了

#1


你可以将jsp触发java代码嘛,你可以在搜搜打印的代码看看。
直接调用JAVA类。

#2


jsp 做不了的,这是控件做的事情。

#3


建表

插入数据


显示

#4


javax.print

#5


用c++,vb,dephi写一个控件,在jsp页面中直接调用就可以了.

#6


用java报表实现,例如Ireport做模板,用票据做背景,然后JasperReport填充数据,打印,就这么简单。

#7


直接调用后台的java类不可以做到么?

#8


用java报表吧,ireport,不过前提是浏览器要支持applet

#9


如果是套打可能麻烦点,一般的打印简单

#10


请问你需要打印的内容已经显示到页面了吗?
如果显示了,可以直接javacript:document.all.WebBrowser.ExecWB();
如果没显示以可以在做一个页面就是显示一些打印数据的。

#11


很简单,要有条码打印机,用JS调用IE的打印功能就可以了,我以前做过,网上也有不上例子


方法一:
function PrintTable(Id){
                 var mStr;
                 mStr = window.document.body.innerHTML ;
                 var mWindow = window;                
                 window.document.body.innerHTML =Id.innerHTML; 
                 mWindow.print();
                 window.document.body.innerHTML = mStr;
         }

在页面中要打印
<div id="dy">
.......
</div>
<input type="button" value="打    印" onclick="return PrintTable(dy)">

方法二:
/*-----------print.js
Copyright (c) 2002,*************
All rights reserved.
Filename :print.js
Abstract :常用打印函数
Version :1.0
Author    :Liu Guoyuan
Finished Date :2003-03-19
Last Modified :2003-03-20
-------------------------------------------------------------------------------------
*/

with (document)
{//输出样式表表及IE打印控件
         write ("<style type=\"text/css\" media=\"print\">");
         write ("   .noPrint{visibility:hidden}");
         write ("</style>");
         write ("<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0></object>");
}
function doPrintSetup()
{//打印设置
         WB.ExecWB(8,1);
}
function doPrintPreview()
{//打印预览
         WB.ExecWB(7,1);
}
function doPrint()
{
         window.print();
}
function showPrintBar()
{
         with (document)
         {
                 write ("<div align=\"center\" class=\"noprint\">");
                 write ("   <input type=\"button\" name=\"doBack\" value=\" <<返回   \" onClick=\"history.go(-1)\">");
                 write ("   <input type=\"button\" name=\"doPrintPreview\" onClick=\"WB.ExecWB(8,1)\" value=\"打印设置\">");
                 write ("   <input type=\"button\" name=\"doPrint\" value=\"   打印>> \" onClick=\"doPrint()\">");
                 write ("</div>")
         }
}

----------------print.js end------------

页面中使用时:
<script language="JavaScript" type="text/JavaScript" src="print.js"></script>
然后再需要输出打印按钮时:
<script>showPrintBar()</script>

方法三:
打印前把按钮隐藏
<tr><td><input type="button" value="打 印" name="butt" onClick="javascript:hide()"></td></tr>

<script language="javascript">
                 function hide()
                 {
                    document.all.item("butt").style.display="none";
                   
                    window.print();                                
                   }
</script>

方法四:
<style>
@media print{
.noprint{display:none}
}
</style> 
给不打印的区加这个CSS就可以了,在页面上能看见但打印的时候看不到!

方法五:
利用脚本控制打印,可以采用如下方法:
1、execCommand()方法
Print 打开打印对话框以便用户可以打印当前页
即document.execCommand('Print');

2、window.print()

3、   <OBJECT   id=WebBrowser   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=0   width=0>
   </OBJECT>
   <input   type=button   value=打印           onclick=document.all.WebBrowser.ExecWB(6,1)>
   <input   type=button   value=直接打印   onclick=document.all.WebBrowser.ExecWB(6,6)>
   <input   type=button   value=页面设置   onclick=document.all.WebBrowser.ExecWB(8,1)>
   <input   type=button   value=打印预览   onclick=document.all.WebBrowser.ExecWB(7,1)>

方法六:
<%@ page contentType="text/html; charset=GBK"%>
<%
String url="#"
%>

<style media="print">
     .noPrint { display: none }
   </style>
   <style media="screen">
      .print { display: none }
</style>
<html>
<title></title>

<body>

<jsp:include page="<%=url%>" />
<table width="100%" class="noPrint" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="60" align="center">
<input type=button name=button_show value="打     印" onclick="print();">
<input type=button name=button_show value="打印预览" onclick="preview();">
<input type=button name=button_setup value="打印设置" onclick="pageSetup();">
</td>
</tr>
</table>

</body>
<object id="factory" style="display:none" viewastext
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="/etsc/ActiveX/ScriptX.zip#Version=6,1,430,5">
</object>
<script language="javascript" >
         function pageSetup()
         {
                 factory.printing.PageSetup();
         }
         function preview()
         {
                 setPageInfo();
                 factory.printing.Preview();
         }
         function print()
         {
                 setPageInfo();
                 factory.printing.Print(true);
         }

         function setPageInfo(){
                 //factory.printing.header = "&b&b第&p页/共&P页"
                 //factory.printing.footer = "&b&b时间:&D&T"
                 factory.printing.footer = ""
                 factory.printing.leftMargin = 10
                 factory.printing.topMargin = 20
                 factory.printing.rightMargin = 10
                 factory.printing.bottomMargin = 20
         }
</script>
</html> 






FORM:QQ群Java 2  Enterprise Edition(88509302)

#12


学习了