最近在设计一个银行票据打印程序,需要打印支票,进账单等多种不同尺寸规格的票据,打印方式采用直接将窗体打印,打印机开机后打印第一张往往能够正常,打印好第一张后就要放入两次纸,但没有打印内容,接着打印第二张相同票据时里面内容的位置就全部靠下面.
请问:
1.能否在程序中随时随意自定义不同纸张大小,而且不影响系统及其他程序的纸张设置
2.怎么在打印每张票据后清除打印机中尚未打印且不用打印的"空"内容?
3.尽量使用打印窗体的方法解决!
请问:
1.能否在程序中随时随意自定义不同纸张大小,而且不影响系统及其他程序的纸张设置
2.怎么在打印每张票据后清除打印机中尚未打印且不用打印的"空"内容?
3.尽量使用打印窗体的方法解决!
[email protected]
2、不存在空任务
3、直接采用printer方法在98系统和在2k系统中,对纸张的设定是不同的。
win98下
直接采用
Const Ti As Integer = 567 '一厘米=567缇
'Prn_High和Prn_Weight代表票据的高度和宽度
'
Printer.ScaleMode = vbTwips
Printer.Height = Prn_High * Ti
Printer.Width = Prn_Weight * Ti
Printer.FontSize = 10win2k下
1、 首先必须通过代码在打印属性里增加票据的纸张定义
2、RetVal = SelectForm("KGDefineUser", Printer_AddSize.Hwnd) '然后调用该纸张的定义
3、printer.ScaleMode = vbTwips
Printer.FontSize = 10
具体如何增加纸张的定义和调用,可以搜索一下,有现成的例子
直接用PRINTER对象就可以完成你所需要的所有功能,肯定。