无法使 SATO CL4NX 打印机接受(相对于打印)命令

本文关键字:相对于 打印 命令 SATO CL4NX 打印机 | 更新日期: 2023-09-27 18:32:59

我正在编写一个WinForm应用程序,该应用程序应该向SATO CL4NX标签打印机发送一系列命令。我正在使用Visual Studio 2013,C#,并且正在使用USB端口打印enter code here。我努力的结果是打印机只打印命令的文本。

例如,我发送以下字符串:

"<STX><ESC>AH0050<ESC>V0100<ESC>L0303<ESC>B<ESC>XMSATO<ESC>Z<ETX>"

打印的是:

"<STX><ESC>AH0050<ESC>V0100<ESC>L0303<ESC>B<ESC>XMSATO<ESC>Z<ETX>"

我的代码如下:

StringBuilder sb = new StringBuilder();
            sb.AppendLine();
            sb.AppendLine("<STX><ESC>A");
            sb.AppendLine("H0050<ESC>V0100<ESC>L0303<ESC>B<ESC>XMSATO<ESC>Z<ETX>");
            String output = sb.ToString().Replace("<ESC>", "'x1B");
            output = output.Replace("<STX>", ((char)2).ToString());
            output = output.Replace("<ETX>", ((char)3).ToString());
            yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));
            ev.Graphics.DrawString(output, printFont, Brushes.Black, leftMargin, yPos, new StringFormat());

发送到打印机的实际字符串为:

'r'nA'r'nH0050V0100L0303BXMSATOZ'r'n

有人可以告诉我我做错了什么吗?

提前感谢您的帮助。史蒂夫

无法使 SATO CL4NX 打印机接受(相对于打印)命令

我的理解是 SATO 打印机命令使用 ESC 字符,即十六进制中的"1B"。您实际上不需要发送 STX 和 ETX 字符。此外,您可能希望为要打印的标签数量指定 Q 命令:

[1Bh]A
 [1Bh]H0050
 [1Bh]V0100
 [1Bh]L0303[1Bh]B[1Bh]XMSATO
 [1Bh]Q1
[1Bh]Z