就是接收到一条信息就把它打印出来。并且是一行接着一行的打,中间不留空行。目前我只能做到打印一行就走纸,这样就有空行了。谢谢大家不吝赐教

解决方案 »

  1.   

    请参考此贴:
    http://community.csdn.net/Expert/topic/3181/3181353.xml?temp=.6869776楼主可否这样:
    先统计一下每页纸的打印行数,在程序中统计,一旦满一页就使用Printer.EndDoc方法将结果输出呢?
      

  2.   

    完全可以做到!
    如:
    Printer.Height = 8 * 567
    Printer.Width = 25.4 * 567
    Printer.Orientation = 1
    Printer.ScaleMode = vbMillimeters
    Printer.FontSize = 11msg$ = DateValue(dIssueTime)
    Printer.CurrentX = 16
    Printer.CurrentY = 24
    Printer.Print msgmsg = sUserQuantity
    Printer.CurrentX = 36
    Printer.CurrentY = 41
    Printer.Print msgmsg = txt(5) & ChMoney(txt(5))
    Printer.CurrentX = 165
    Printer.CurrentY = 41
    Printer.Print msgPrinter.EndDoc
      

  3.   

    不知这样行不行:自定义纸张为一行这么大,然后用Printer打印,打完就是一行了,下次再接收到信息后再打还是一行,这样就不会走纸了。纯属想出来的,未经过实践。^_^
      

  4.   

    Printer.EndDoc好像会走完一张纸的
      

  5.   

    这是由Windows打印机制决定的。它不能象以前的DOS那样,只要你的程序使用一条打印指令,它就打印一句,而是完成一个打印任务后输出全部内容。 
        对于一些特别的打印机,如票据、连续打印设备,一般只能直接通过API函数WritePrinter直接将打印数据送给打印机进行打印。具体的例子可以参考微软的文章:http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q175/0/83.asp&NoWebContent=1