You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:SUNMI V2S PLUS无法执行ESC K d反向走纸ESC/POS指令

问题:SUNMI V2S PLUS打印机ESC/POS反向走纸指令无效,打印出字符串

我有两台设备:

  • SUNMI V2S
  • SUNMI V2S PLUS

在SUNMI V2S打印机上,使用ESC/POS指令ESC K d(对应ASCII码27+75+100)可以实现纸张反向走纸,但相同指令在SUNMI V2S PLUS上无效,反而直接打印出类似Kd的字符串。相关代码如下:

Dim REVERSEFEEDPAPER As String=Chr(27) & Chr(75)& Chr(100)
Printer1.WriteString(Printer1.REVERSEFEEDPAPER)

Public Sub WriteString(data As String)
'   WriteString2(data, "IBM437")
    WriteString2(data, "UTF8")
End Sub

' Send the string to the printer in the specified encoding
' You also need to set the printer to a  matching encoding using the CodePage property
' Beware of using WriteString2 with Chr() to send numeric values as they may be affected by codepage substitutions
' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenatipon with other string data
Public Sub WriteString2(data As String, encoding As String)
    Try
        If Connected Then
            Astream.Write(data.GetBytes(encoding))
'           Astream.Write(data.GetBytes("UTF8"))
        End If
    Catch
        Log("Printer error : " & LastException.Message)
        AStream_Error
    End Try
End Sub

解决思路及方案

1. 编码问题是核心原因

当前代码使用UTF-8编码发送指令,但ESC/POS控制指令是基于ASCII(IBM437是打印机常用编码)的二进制码。UTF-8编码会改变部分ASCII字符的字节表示,导致打印机无法识别控制指令,反而将其当作普通文本打印。

2. 具体修复步骤

  • 恢复使用IBM437编码发送控制指令:
    修改WriteString方法,启用IBM437编码:

    Public Sub WriteString(data As String)
        WriteString2(data, "IBM437")
    '   WriteString2(data, "UTF8")
    End Sub
    

    如果需要打印中文等非ASCII文本,可以单独对普通文本使用UTF-8,控制指令用IBM437分别发送。

  • 直接发送字节数组而非字符串:
    跳过字符串编码转换环节,直接构造字节数组发送控制指令,确保二进制字节准确传递:

    Dim REVERSEFEEDPAPER() As Byte = {27, 75, 100}
    If Connected Then
        Astream.Write(REVERSEFEEDPAPER, 0, REVERSEFEEDPAPER.Length)
    End If
    

3. 验证指令兼容性

部分新型打印机可能调整了ESC/POS指令集,建议查阅SUNMI V2S PLUS的官方打印机指令手册,确认反向走纸的正确指令格式。如果ESC K d不被支持,可能需要使用厂商自定义指令或其他标准反向走纸指令。

内容的提问来源于stack exchange,提问作者Lanlan Sun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:25:06