用vb编写一个打印住院发票的程序,使用的是爱普生1600K针式打印机,发票一式三联,并排,同时打印,内容是一样的。
请问,编程的大体思路是怎样的?怎样控制走纸,怎样同时并排打印三联,这种票据打印机和普通的打印机编程有什么不同?

解决方案 »

  1.   

    控制走纸,你可以使用该打印机厂商提供的PCL(打印控制语言)来控制关于打印机控制的一段程序:
       If Index = 1 Then
         Printer.Orientation = vbPRORPortrait    Open "LPT1:" For Output As #1
        Print #1, Chr$(27); "E"; Chr(&H1B); Chr(&H26); "l"; "1"; "O"
        Close #1
        PrinterSetting.PrintDirection = 纵向   Else
        Printer.Orientation = vbPRORLandscape
        Open "LPT1:" For Output As #1
        Print #1, Chr$(27); "E"; Chr(&H1B); Chr(&H26); "r"; "0"; "F"
        Close #1
        PrinterSetting.PrintDirection = 横向
       End If
      

  2.   

    打印机对象和 picturebox 对象是一样使用的,只不过是打印机对象看不到样子而已。下面是最简化的打印程序:        Dim o As Object    '定义打印机对象        Set o = Printer
            Printer.ScaleMode = vbMillimeters        o.ForeColor = vbBlack   '设置颜色
            
            o.FontName = "宋体" '设置字体
            o.FontSize = "12"
            o.FontBold = False
            
            o.CurrentX = 100    '定位
            o.CurrentY = 200
            o.Print "How are you"   '输出内容        o.CurrentX = 100    '定位
            o.CurrentY = 200
            o.Print "helle world"   '输出内容        Printer.EndDoc  '打印咯