套打--存折打印

          刚刚完成了一个类似银行存折打印的功能,不是换页打印,而是接着打印的那种,比换页打印稍微复杂一些,先来说说什么是套打印吧:

      所谓的套打印,就是在预先印好的表单而非空白打印纸,打印时只需输出数据项而不必打印表格,比如打印账单,发票等,那么怎么样才能对号入座呢,首先使用一个合适的打印控件很重要,我使用的是lodop这个控件,很灵活,可以根据需要自行调节,可以到网上下载一个最新版的lodop6.0,上面都有很详细的教程

     使用的时候只需要把LodopFuncs.js(CheckActivX.js)和install_lodop.exe放到项目里就可以了,在打印的页面中添加

<object  id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> 
       <embed id="LODOP" type="application/x-print-lodop" width=0 height=0></embed>
</object>

  然后如果用户要打印就会自动提示用户安装,根据自己的需要调用相关的方法就可以了,比如直接打印LODOP.PRINT(); 打印预览LODOP.PREVIEW();打印维护:LODOP.PRINT_SETUP();添加内容 LODOP.ADD_PRINT_TEXT等等,方法很多,很全面:

存折打印是接着往下大,所以要控制好纸张的大小,要打印的行数,都能固定下来,我们可以用相机拍下存折的图片,作为打印的背景,然后对号入座就行了,看看下面这张图:

因为有很多信息不能只打印在一个页面上,所以在打印之前对其分页,当然了,普通打印不用这样,打印机可自动设置

关键点是当你这个页面已经有两条打印记录了,怎么能接着往下打呢,有没有打印也不好控制,所以我们只能把打过的位置空出来,因为在电脑中设置的打印位置和打印出来的位置是一样的,这里你可以在要打印的信息前面加一个复选框,选择要打印的,不打印的就不用选择

在打印维护中可以看到效果

把上面打印过的位置空出来,相当于就是空白,然后从要打印的位置开始打印,预览一下

这样就基本完成了,测试了一下,没什么问题,这个是解决了连续打印的问题,我们知道存折打印不可能折起来打印,都是

把存折平放到打印机里打印的,这个时候我们应该考虑到,当打印第一页的时候,上面是后头,下面的一半才是打印的部分,我们需要把上面的户头空下来,直接打印下面的部分,当第二页之后的就可以按照从头到尾打印了

程序实现的时候,我们只需要在分页的时候,假如一页显示10条,那么第一页就显示10行数据,第二页之后就显示2页的数目20行即可,然后按照上面的思路就可以完成了

可能会有些漏洞,下午大家给点意见..

 

posted @ 2011-04-28 16:08  双魂人生  阅读(4228)  评论(0编辑  收藏  举报