无法使 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 打印机命令使用 ESC 字符,即十六进制中的"1B"。您实际上不需要发送 STX 和 ETX 字符。此外,您可能希望为要打印的标签数量指定 Q 命令:
[1Bh]A
[1Bh]H0050
[1Bh]V0100
[1Bh]L0303[1Bh]B[1Bh]XMSATO
[1Bh]Q1
[1Bh]Z