刚从论坛上学到了用VB控制打印机的方法:
Open "LPT1" For Output As #1
        Print #1, Chr(27); Chr(64) '清除原先的打印设置,即初始化
         Print #1, Chr(28) & "@" '设置汉字状态
         Print #1, Chr(28) & "J" '设置汉字纵向打印
        Print #1, , "所要打印的内容"
Close #1
求高手指点下设置字体及大小的方法?

解决方案 »

  1.   

    需按打印机说明书的控制指令编写代码,每种打印机可能指令有不同,以下是在EPSON针打调试通过的代码,结合LZ已经获得的代码基本可操作POS机打印.
    Private Sub Command1_Click() 
        Open "LPT1 " For Output As #1 
            For I = 1 To 5 
                Print #1, Chr(10)      '控制换行,同Chr(13) 
            Next 
            Print #1, Chr(27); "IA "; "ABCDEFGHIJKL "          '正常字体每行80字符 " 
            Print #1, Chr(14); "ABCDEFGHIJKL "        '宽体每行40字符 
             Print #1, Chr(27); "IA "        '恢复正常字体 
             Print #1, Chr(27); "IA "; "ABCDEFGHIJKL "          '正常字体每行80字符 " 
            Print #1, Chr(27); "IB "; "ABCDEFGHIJKL "          '横向扩展每行40字符 
             Print #1, Chr(27); "IC "; "ABCDEFGHIJKL "          '纵向扩展每行80字符 
             Print #1, Chr(27); "E "; "ABCDEFGHIJKL "          '加重黑体 
             Print #1, Chr(27); "F "        '取消加重黑体 
             Print #1, Chr(27); "IA "        '恢复正常字体 
             Print #1, Chr(27); "4 "; "ABCDEFGHIJKL "          '斜体 
             Print #1, Chr(27); "5 "        '取消斜体 
             Print #1, Chr(27); "0 "; "ABCDEFGHIJKL "          '打印每吋6行改8行 
             Print #1, Chr(27); "1 "; "ABCDEFGHIJKL "          '重置行间隔为7/72 
            Print #1, Chr(27); "2 "; "ABCDEFGHIJKL "          '重置行间隔为1/6 
            Print #1, Chr(27); "IA "; "ABCDEFGHIJKL "          '正常字体每行80字符 " 
            'Print  #1,  Chr(12)  '控制换页 
        Close #1 
    End Sub 
      

  2.   


    Open "LPT1 " For Output As #1
    Close #1
    这种方式使用的是打印机的硬字库,所以LZ认为效果不好.
    效果好LZ你只能放弃打印到哪,纸张停止在哪的要求,使用Printer对象打印.
      

  3.   

    To zdingyun:
       我对“打印到哪,纸张停止在哪的"需求更大,只得使用Open "LPT1 " For Output As #1 
    Close #1方法,而放弃Printer对象打印. 
       谢谢您的帮助!