0

我有以下代码,我在将打印机置于行模式后发送,但它只是在吞下后打印'51'[ESC]A

更改字体的命令是[ESC]A51

var hexValue = "1B"; // ESC char in HEX
var asciiValue = System.Convert.ToChar(System.Convert.ToUInt32(hexValue, 16));
var stringVal = new string(new char[] { asciiValue });
stringVal = stringVal + "A51"; // Smaller Font

data = Encoding.Default.GetBytes(stringVal + NewLine);

connection.Write(data);
4

1 回答 1

0

需要一些正确的代码来规范打印机的输出。

var stringVal = new string(new char[] { System.Convert.ToChar(0x1b) /* ESC */, 
                                        'A', 
                                        System.Convert.ToChar(51) });
data = Encoding.Default.GetBytes(stringVal + NewLine);

connection.Write(data);

编辑

在这种情况下A51需要注意。如果51是字符串,使用'5', '1',或字符,使用System.Convert.ToChar(51),命令是不同的传递方式。

于 2015-01-06T09:50:05.190 回答