如何实现自动套打功能?

kenwoodking 2005-03-15 03:54:52
现在手头有个任务,要实现类似与收据阿什么的固定格式的套打,该怎么实现?

详细如下:
1.页面打印的大小为标准A4纸张;
2.每页分为三份相同大小的部分,每个部分的上面2.5cm已被事先印刷的公司Logo占据(不能打印);
3.每页打印三份内容大致相同的表格(对于一个事务,区别仅仅在于“姓名”不同);
4.需打印的表格份为9行,占据6.5cm;
5.对于同一个事务,可能需要打印2百个不同人名的表格内容,即一次打印70页左右;

举例:
一次选择12个人名,点击“打印收据”,这按照每三人一页的形式将收据打印出来;

如何实现?

...全文
209 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcsoft01 2005-07-04
  • 打赏
  • 举报
回复
webprint是一个基于表格的页面打印解决方案.先将要打印的数据及样式组织到一个HTML的TABLE元素中, 然后将这个TABLE元素传给webprint,实现分页打印预览,出打印对话框打印和直接打印. 详情参见: www.fcsoft.com.cn
x123jing 2005-03-19
  • 打赏
  • 举报
回复
呵呵,我估计真正做ASP使用套打的,都是用的控件或是层的吧。

如果没有人关注就散分吧。嘿嘿
kenwoodking 2005-03-17
  • 打赏
  • 举报
回复
怎么没人关注了阿………………
kenwoodking 2005-03-16
  • 打赏
  • 举报
回复
To themedy(太菜了)
  谢谢阿,虽然可能这个暂时还用不上;
-----------------------------------------
To x123jing(蓝点)
  谢谢!您的看法确实不错,我尝试过很多办法,确实感觉asp处理这种“套打”要求好像有些无力,我以前大致是采用类似于themedy的方法,发现实际使用中问题很多,包括“页面设置中,上-25 下-25”这样的规则都有很大问题-_-|||(汗),实际情况问题太多……我都不知道怎么办了
x123jing 2005-03-15
  • 打赏
  • 举报
回复
看了上面的代码,基本上都是用层来实现的。但是层好像有因分辩率不同而定位不准的问题吧。
套打,用IE是很难实现的,至少我是这样认为的。
曾经使用过IE打印,但是用那种打印,你在N台机子上,你就必需设置N次打印设置。
网上有说用script+css来控制,但是感觉好麻烦了。并且对于script偶不熟!:)并且这些方法预览也很麻烦,不直观。

最后我的解决方法是用控件,目前使用的是袁飞打印控件,虽然感觉不太好,但是找不到更好的免费的了。如果你要,可以留言给我,我发给你。

继续关注此贴!希望楼主能找出一个更好的方法。

为了你那三百分,本想把代码贴出来的,但是想到没有控件,你也看不到,还是算了,那三百分,飞了!!:(呵呵


gxskyriver 2005-03-15
  • 打赏
  • 举报
回复
werwer 4234234 1.所担负 345345
ewrwe 45345 2.所担负决赛234234
1,rwer 67567
2werw 43423423234
werwer 23423423324
werwerwewerwewe 3423423
dfw1,ewrewer 456456
1\erwerer 345345
themedy 2005-03-15
  • 打赏
  • 举报
回复
'楼住试试下面代码是否符合你的要求
'注意:页面设置中,上-25 下-25

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
.splitor{
height:26mm;
}
.table1{
width:100%;
height:65mm;
font-size:12px;
}

//-->
</style>
</HEAD>

<BODY>
<%
'页面设置中,上-25 下-25
call tablecontext()
%>
</BODY>
</HTML>
<%
sub tablecontext()
dim i
for i = 1 to 100
with response
.write "<table cellspacing=0 cellpadding=0 class=table1 border=1>"
.write " <tr><td>姓名" & i & "</td></tr>"
.write " <tr><td>字段2</td></tr>"
.write " <tr><td>字段3</td></tr>"
.write " <tr><td>字段4</td></tr>"
.write " <tr><td>字段5</td></tr>"
.write " <tr><td>字段6</td></tr>"
.write " <tr><td>字段7</td></tr>"
.write " <tr><td>字段8</td></tr>"
.write " <tr><td>字段9</td></tr>"
.write "</table>"
if (i mod 3) <> 0 then
.write "<div class=splitor></div>"
end if
end with
next
end sub
%>
kenwoodking 2005-03-15
  • 打赏
  • 举报
回复
医院交费报表?是web版本的么?
wfwclyms 2005-03-15
  • 打赏
  • 举报
回复
好象看到过一个医院的交费报表的代码,你在百度搜一下
kenwoodking 2005-03-15
  • 打赏
  • 举报
回复
有演示页可以拿来看看么?可以先假设一个logo和“姓名”字段以外的表格内容,
看看打出来会是什么样子
themedy 2005-03-15
  • 打赏
  • 举报
回复
<%
dim sql,rs
sql = "select top 12 * from 收据"
set rs = conn.execute(sql)

while not rs.eof
response.write "<div class=div1>"
response.write "姓名:" & rs("姓名")
response.write 其他表格内容...
response.wrtei "</div>"
rs.movenext
wend
rs.close
set rs = nothing
%>

<style>
.div1{
height:65mm;
}
</style>

在页面设置中设置一下,上面为25mm,下面看着办...

themedy 2005-03-15
  • 打赏
  • 举报
回复
A4纸长297mm,宽210mm,计算一下尺寸就可以啊。
可用DIV来控制每个表格的宽度和高度,
控制每页刚好输出三个。
kenwoodking 2005-03-15
  • 打赏
  • 举报
回复
对于正确给出答案或者给出大概演示页面(源代码)的,再加300分!!

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧