注册 登录
编程论坛 ASP技术论坛

如何控制打印使一张票据只能打印一次?

allen捌陆灵 发布于 2014-10-14 15:18, 1930 次点击
目前用asp编写,已经实现将各部门用料申请单在web页面上打印出来。(在显示页面是每一条申请计划作为一行,在行尾添加“打印单据”列,点击后链接至打印页面,按照出票单格式进行排版),目前遇到问题是,客户想对打印功能进行限制,每一条申请记录只能打印一次,这时需要对打印操作进行记录,这个功能怎么实现呢?
3 回复
#2
hu9jj2014-10-14 20:44
增加一个记录打印次数的字段,大于1则不能被打印。也可以在醒目位置打印出第N次打印。
#3
allen捌陆灵2014-10-15 08:14
回复 2 楼 hu9jj
通过什么方式来记录呢?怎么确定“打印”事件已经发生,是点击“打印”按钮?还是有其它可以触发的事件?如果点了“打印”后,只是预览,没有点击“确定”呢?会不会受到影响?
#4
allen捌陆灵2014-10-15 10:36
我看网上有一个onafterprint 函数,是当文档被打印后触发的事件,可是我调用后也没达到预期功能,打印前就调用了这个函数,这个函数大家有用过的吗?(onafterprint )

实验代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>

<HEAD>
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>
</HEAD>


<script language="javascript">
window.onafterprint=p_after
//window.onbeforeprint=p_befor
function p_after(){
    alert('已经打印成功!!!');
    window.close();

}

</script>


<BODY>
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT ></OBJECT>

<a class="NOPRINT" href="#" style="cursor:hand" title="打印" onclick="document.all.WebBrowser.ExecWB(6,6);">打印表一</a>

<br><br>
<table BORDER="1">
<tr><td>1</td></tr>
<tr><td>我将被打印</td></tr>
</table>
<br>

</BODY>

</HTML>
1