小票打印的时候,小票怎么会往里面打的。有谁知道这是什么原因吗?

解决方案 »

  1.   

    你好,wangyang4506  在下不知道怎么称呼你,先叫你一声大哥,你能帮忙解决一下问题吗?
      

  2.   

    一般先放纸,打印机的打印头下有个压纸开关,触发开关后打印头初始化,往前走几行到打印的起始位置。
    以前做过针式打印,一般有两种,一种是直接用打印控件,设置页长,每次按模板打印,这个看控件支持,另一种就是自己写,固定格式,每行该怎么空都直接放空格,打几行也自己控制,具体是要看打印机的命令集的,那时候有看到过打印机供应商给的技术文档。包括进退纸命令,进纸步长什么的。命令集就是指16进制的一个或者几个字节组合。很久以前做的了,只记得这么多了。VB的一些代码:
    Private Sub Command1_Click()
    Dim i As Integer
    Open "LPT1" For Output As #1
    Print #1, Chr(27); Chr(64) '清除原先的打印设置,即初始化
    Print #1, Chr(28) & "@" '设置汉字状态
    pnt1
    Print #1, Chr(28) & "J" '设置汉字纵向打印
    pnt1
    Print #1, Chr(28) & "K" '设置汉字横向打印状态
    Print #1, Chr(27); "3"; Chr(45) '设置换行量宽度
    Print #1, Chr(27); "W"; Chr(1) '设置四倍放大
    Print #1, Chr(27); "q"; Chr(3) '设置空心字
    pnt1
    Print #1, Chr(27); Chr(64) '清除原先的打印设置,即初始化
    For i = 3 To 24 Step 3 '执行字符间隔调整
    Print #1, Chr(28); "S"; Chr(0); Chr(i)
    pnt1
    Next
    Print #1, Chr(28); "S"; Chr(0); Chr(3)
    Print #1, Chr(27); "4"; '设置斜体
    Print #1, Chr(27); "q"; Chr(3) '设置空心字
    pnt1
    'Print #1, Chr(28) & "." '切换回西文状态
    Close #1
    End SubPrivate Sub Form_Load()
    Text1 = ""
    Open "LPT1" For Output As #1
    Print #1, Chr(27); Chr(64) '清除原先的打印设置,即初始化
    Close
    End SubPublic Sub pnt1()
    Print #1, , "LPT1:" & "带有心脏的中英文打印机"
    End Sub