本人的软件中需要打印一个定宽不定长的单据,因为成本的原因,客户只使用LQ300K打印机,这种打印机专门用来打印连续纸,但因为是按页的形式打印,每次打印完成都会走一页或多页的纸,因为是整页的,往往会多走许多空白,使用人员每打印一次后就需要手动去拧打印机的轮滚,这不但麻烦,使软件看起来不正规,也会减少打印机的寿命,给客户带来不必要的损失!
此单据是用来显示某数据的明细的,因为明细的行数不固定,可能会很多,也可能会很少,所以单据的长度无法固定,有时,可能会超过A4的一页,有时可能只有三四行内容,这样我就无法使用一个固定的自定义格式页来完成这个功能(使用自定义页的办法我已经找到了),因为自定义格式页的长度也是固定的
我在网上找了很长时间,并没有哪个文章可以解决这样的问题,但我知道已经有人解决了这个问题了
用代码写PaperMode=256是通不过的,简单的设置打印机的宽和高也不行,网上找到的使用API的代码都是用来动态加载自定义页的,也就是说,只能使用自定义的页的设置来打印,这不是我想要的
解决问题的要求:必须使用LQ300K打印机,不论用什么方法,只要能让打印机打印完成后出纸出到准确的位置停下就可以
本人想到的可能的办法有以下几种,当然想归想,没有一个实现了
1.动态的生成一个自定义页面,使用这个页设置打印自然就不会有问题了,这是首选办法,但没有找到这个办法的实现方法
2.设置一个自定义页面,页高就是行高,本人不想用这种办法来实现,也没有试验,因为这个单据中的字体大小不是一样的
3.用行打的方法实现,可是,这样的话就需要使用控制符了,不好写不用说,也无法用报表预览的形式去表示,当然,如果实在没有办法了,这个方法也行
本人水平有限,还没有想到能有别的办法实现它,希望各位高手百忙之余能抽出点时间帮忙解决,本人不盛感激!!!!!!!! |