社区
Web 开发
帖子详情
如何在jsp中实现连续打印和套打?
liangwd
2002-08-02 08:59:26
谢谢!
...全文
217
3
打赏
收藏
如何在jsp中实现连续打印和套打?
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chongqing_ljg
2003-04-03
打赏
举报
回复
To:Andrawu(晓彬)
其中iPageSize的大小是如何确定才能使这么多条记录占满一页,
要自己试出来吗?
还是能有办法计算的出来,
如果iPageSize随便设置,那么打印的时候就不能设定打印某几页了,就算设置了,
打印出来肯定不是我想要的
还有什么办法让每一页的数据(就算它们占满不了一页)占满一页呢
Andrawu
2002-08-02
打赏
举报
回复
在网页上进行套打:
1.简单的方法:为客户定做HTML页面(固定打印位置和数据),我也是这样做的:)。
2.用xml!正在学习。
连续打印:
1.简单的方法:也是固定打印位置和数据(分页打印的记录数),我也是这样做的:)。
2.也可以用xml。
给一个jsp分页打印的例子:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="com.*,java.util.*"%>
<jsp:useBean id="SDBean" class="com.SaleDetailBean" scope="request" />
<% SDBean.performTask(request,response);%>
<%
java.util.GregorianCalendar toDay = new java.util.GregorianCalendar();
String sToday = toDay.get(toDay.YEAR)+"年"+(toDay.get(toDay.MONTH)+1)+"月"+toDay.get(toDay.DATE)+"日";
%>
<html>
<head>
<title>业务员纯销明细表</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
table {border-top:solid 1px rgb(0,0,0);border-left:solid 1px rgb(0,0,0);border-right:solid 1px rgb(0,0,0);border-bottom:solid 1px rgb(0,0,0);}
td {border-right:solid 0.5px rgb(0,0,0);border-bottom:solid 0.5px rgb(0,0,0);}
body,input,select,td,table {font-family:宋体;font-size:9pt;}
</style>
</head>
<!--//打印-->
<object id="factory" style="display:none" viewastext classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"></object>
<script defer>
function window.onload() {
factory.printing.header = ""
factory.printing.footer = ""
factory.printing.leftMargin = 0.75
factory.printing.topMargin = 1.5
factory.printing.rightMargin = 0.75
factory.printing.bottomMargin = 1.5
}
</script>
<BODY topmargin="0" leftmargin="0" bgcolor="white">
<%try {
String sCheckName="";
com.Check[] ack = null ;
String goods_name="";
String goods_unit="";
com.Goods[] aGoods = null ;
long lNum = 0 ;
float fMoney = 0 ;
long lNumTotal = 0 ;
float fMoneyTotal = 0 ;
int iPageSize = 58 ;
int iPageCount = 0 ;
int iLastPage = 0 ;
int iRecordCount = 0 ;
int iCount = 0 ;
ArrayList aSaleDetail = null ;
com.SaleDetail oSaleDetail = null ;
aSaleDetail = (ArrayList)request.getAttribute("aSaleDetail");
if(aSaleDetail!=null) {
iRecordCount = aSaleDetail.size() ;
iPageCount = iRecordCount/iPageSize ;
iLastPage = iRecordCount%iPageSize ;
for(int i=0;i<iRecordCount;i++){
oSaleDetail = (com.SaleDetail)aSaleDetail.get(i) ;
lNumTotal += oSaleDetail.getNum() ;
fMoneyTotal += oSaleDetail.getMoney() ;
}
%>
<br> <br><br>
<%for (int i=0;i<iPageCount;i++){%>
<%lNum = 0;
fMoney = 0 ;
%>
<div align=center>XXXXXXXXXX公司<br><font size=3>业务员纯销明细表</font></div>
<div align=left> 日期:<%=sToday%></div>
<table width=95% align=center border=1 cellspacing=0 cellpadding=0>
<tr>
<td> <p align="center"><b>送货单位</b> </td>
<td> <p align="center"><b>收货单位</b> </td>
<td> <p align="center"><b>合同号</b> </td>
<td> <p align="center"><b>送货单号</b> </td>
<td> <p align="center"><b>送货日期</b> </td>
<td> <p align="center"><b>品种</b> </td>
<td> <p align="center"><b>单价</b> </td>
<td> <p align="center"><b>数量</b> </td>
<td> <p align="center"><b>金额</b> </td>
<td> <p align="center"><b>业务员</b> </td>
<td> <p align="center"><b>备注</b> </td>
</tr>
<%for (int j=0;j<iPageSize;j++){
iCount = i*iPageSize+j ;
oSaleDetail = (com.SaleDetail)aSaleDetail.get(iCount) ;
%>
<tr>
<td><p align="left"><%=oSaleDetail.getSendId()%></td>
<td><p align="left"><%=oSaleDetail.getReId()%></td>
<td><p align="left"><%=oSaleDetail.getSoId()==null?" ":oSaleDetail.getSoId()%></td>
<td><p align="left"><%=oSaleDetail.getShipId()==null?" ":oSaleDetail.getShipId()%></td>
<td><p align="left"><%=oSaleDetail.getBillDate()==null?" ":oSaleDetail.getBillDate()%></td>
<td><%=oSaleDetail.getGoodsId()%></td>
<td><%=oSaleDetail.getPrice()%></td>
<td><%=oSaleDetail.getNum()%></td>
<td><%=oSaleDetail.getMoney()%></td>
<td><p align="left"><%=oSaleDetail.getHander()%> </td>
<td> </td>
</tr>
<%
lNum += oSaleDetail.getNum() ;
fMoney += oSaleDetail.getMoney() ;
%>
<% } //end for j%>
<tr>
<td colspan=7><p align="left"> 本页合计</td>
<td><p align="left"> <%=fMoney%></td>
<td colspan=2> </td>
</tr>
<tr>
<td colspan=7><p align="left"> 总合计</td>
<td><p align="left"> <%=fMoneyTotal%></td>
<td colspan=2> </td>
</tr>
</table>
<br>
<div align=center>第<%=(i+1)%>/<%=(iPageCount+1)%>页</div>
<div align=right>操作员:<%=request.getSession().getAttribute("gusername")%> </div>
<div><br><br><br><br><br><br></div>
<%}// end for i%>
<div align=center>XXXXXXXXX有限公司<br><font size=3>业务员纯销明细表</font></div>
<div align=left> 日期:<%=sToday%></div>
<table width=95% align=center border=1 cellspacing=0 cellpadding=0>
<tr>
<td> <p align="center"><b>送货单位</b> </td>
<td> <p align="center"><b>收货单位</b> </td>
<td> <p align="center"><b>合同号</b> </td>
<td> <p align="center"><b>送货单号</b> </td>
<td> <p align="center"><b>送货日期</b> </td>
<td> <p align="center"><b>品种</b> </td>
<td> <p align="center"><b>单价</b> </td>
<td> <p align="center"><b>数量</b> </td>
<td> <p align="center"><b>金额</b> </td>
<td> <p align="center"><b>业务员</b> </td>
<td> <p align="center"><b>备注</b> </td>
</tr>
<%lNum = 0;
fMoney = 0 ;
%>
<%for (iCount=iRecordCount-iLastPage;iCount<iRecordCount;iCount++){
oSaleDetail = (com.SaleDetail)aSaleDetail.get(iCount) ;
%>
<tr>
<td><p align="left"><%=oSaleDetail.getSendId()%></td>
<td><p align="left"><%=oSaleDetail.getReId()%></td>
<td><p align="left"><%=oSaleDetail.getSoId()==null?" ":oSaleDetail.getSoId()%></td>
<td><p align="left"><%=oSaleDetail.getShipId()==null?" ":oSaleDetail.getShipId()%></td>
<td><p align="left"><%=oSaleDetail.getBillDate()==null?" ":oSaleDetail.getBillDate()%></td>
<td><%=oSaleDetail.getGoodsId()%></td>
<td><%=oSaleDetail.getPrice()%></td>
<td><%=oSaleDetail.getNum()%></td>
<td><%=oSaleDetail.getMoney()%></td>
<td><p align="left"><%=oSaleDetail.getHander()%> </td>
<td> </td>
</tr>
<%
lNum += oSaleDetail.getNum() ;
fMoney += oSaleDetail.getMoney() ;
%>
<% } //end for j%>
<tr>
<td colspan=7><p align="left"> 本页合计</td>
<td><p align="left"> <%=fMoney%></td>
<td colspan=2> </td>
</tr>
<tr>
<td colspan=7><p align="left"> 总合计</td>
<td><p align="left"> <%=fMoneyTotal%></td>
<td colspan=2> </td>
</tr>
</table>
<br>
<div align=center>第<%=(iPageCount+1)%>/<%=(iPageCount+1)%>页</div>
<div align=right>操作员:<%=request.getSession().getAttribute("gusername")%> </div>
<% }
}catch(Exception ex) {
System.out.println("error"+ex.getMessage());
}
%>
</BODY>
</html>
leonzhao
2002-08-02
打赏
举报
回复
你选择了一个不合适的技术做这件事情,这不是JSP应该解决的问题的。
jsp
实现
套
打(发票
打印
)
本文详细解析如何使用现有方法
实现
网页发票
打印
,包括使用针式
打印
机
打印
复写纸、自定义纸张大小、CSS控制
打印
距离、解决页边距问题以及
连续
打印
发票的技术细节。
java web
实现
套
打,web 如何
实现
精准
打印
本文介绍润乾报表提供的多种高效
打印
方案,包括applet、PDF和Flash
打印
,满足不同业务需求,
实现
精确分页和批量
打印
,提升Web环境下的
打印
体验。
web 如何
实现
精准
打印
在 WEB 系统
中
,
打印
功能开发棘手,涉及浏览器局限性等问题,
套
打需求
实现
难度更大。常用的 WEB
打印
方式各有优缺点,而润乾报表提供多种
打印
方式,支持
套
打和批量
打印
,能快速设计报表,完美
实现
WEB
打印
需求。
html自定义
打印
循环,
JSP
页面
实现
循环
打印
本文介绍了一个基于JavaScript的批量
打印
功能
实现
方法,通过选择表格
中
的多项记录,并将其信息整合后发送到
打印
页面进行
打印
。该方法利用定时器
实现
连续
打印
,并在前端通过拼接字符串的方式构造
打印
所需的数据。
润乾报表横竖
连续
打印
问题
针对润乾报表在展示时需要
连续
显示而
打印
时需按横纵方向分别
打印
的需求,本文介绍了一种解决方案。通过使用多个标签发布报表并在前端页面上
连续
展示,同时利用报表组功能
实现
一键多报表
打印
。
Web 开发
81,110
社区成员
341,727
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章