打印的时候,打印机总是以页为单位,打印以行也要打印页张纸,我不想让他以页为单位,我想让他以行为单位,有几行打印几行,请问在vb中怎么解决阿?可能这种情况最常见的应该是在pos打印机上啊,各位大哥大姐帮个忙,解决以下好吗?

解决方案 »

  1.   

    很简短的一个打印程序:
        bottom_margin = Printer.ScaleTop + Printer.ScaleHeight - 1000  '设定页脚厚度
        Printer.CurrentY = TOP_MARGIN                                 '设置页眉的厚度
        Printer.CurrentX = LEFT_MARGIN                             '设置左边距
        Printer.Print "print first row"                            '打印一行
        Printer.CurrentX = LEFT_MARGIN                             '设置左边距    Printer.Print "print second row"                               '打印第二行
        If Printer.CurrentY >= bottom_margin Then                  '判断是否到了页脚,如果不想分页(如post的形式)可不要此及其如下语句
        Printer.NewPage'新的一页,不要这个就不退纸了
           Printer.CurrentY = TOP_MARGIN
        End If
        Printer.EndDoc'退纸,不要这一行语句就不换页了
      

  2.   

    在pos打印机中打印的高度不定,我怎么控制他阿
      

  3.   

    下面是我的做法,不一定准确,如果你想求最优的做法,还望高手们指点一二,我也学习学习
    在pos上打印,只需让打印机一行一行的打就行了,不用去理会纸的高度
    打完你的正文后打两个空行使得打印内容完全卷出机内,并作为隔离界,撕下来时不易撕破打印内容。Const LEFT_MARGIN = 400              '设定左边距do … while …                       '按行循环执行打印内容
    print_One_row = ……                 '获得一行打印内容
    Printer.CurrentX = LEFT_MARGIN       '设置左边距
    Printer.Print print_One_row          '将获得的那一行打印内容打出来
    loopPrinter.CurrentX = LEFT_MARGIN       '走两行纸,充分卷出打印内容
    Printer.Print ""
    Printer.CurrentX = LEFT_MARGIN       
    Printer.Print ""