纸张的宽度确定,长度不能确定,比如数据有10行就打印到10行为止,有20行就打印到20行为止,类似于超市那种收条。

解决方案 »

  1.   

    可以向LPT1发送打印指令,注意在WINXP下不支持中文,会出现乱码。Private Sub Command4_Click()
        Dim i As Integer
        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字符"
        Close #1
    End Sub
      

  2.   

    向LPT1发送打印指令,可在局域网上的网络打印机.
      

  3.   

    但是我一用网络printer就死机了
      

  4.   

    上述代码是用于EPSON针打的,那些指令须打印机支持。
      

  5.   

    楼主这种情况,建议使用自定义纸张
    打印时,依据行数,就可以确定纸张的长度了
    GOOGLE上搜VB自定义纸张,可以找到源代码
      

  6.   

    mcxhh2005网友,关于好象不支持网落上的printer问题,今天仔细分析,可以将    Open "LPT1" For Output As #1语句中的"LPT1"修改为网络打印机机的实际局域网路径,例某台网络打印机路径是"\\scbbgs\epsonlq",将上句改为
        
         Open "\\scbbgs\epsonlq" For Output As #1其它语句同原来,但WINXP系统不支持汉字。