【发布时间】:2020-12-27 11:16:01
【问题描述】:
目前我正在使用 POS 打印机移动应用程序。我做过文本、图像和条形码或二维码的打印方法。现在我正在尝试使用 ESC/POS 命令检索打印机状态。下面我附上了检查打印状态的代码。
inStream = btSocket.InputStream;
outStream = btSocket.OutputStream;
byte[] reader = new byte[1024];
//Send command to printer
byte[] @try = "\x10\x04\x01".ToBytes();
outStream.Write(@try, 0, @try.Length);
//Read from printer
if (inStream.CanRead)
{
//string stat_res = inStream.Read(reader).ToString();
inStream.Read(reader, 0, reader.Length);
string text = Encoding.UTF8.GetString(reader, 0, reader.Length);
Debug.WriteLine($"Status res: {text}");
}
我已经测试了上面的代码,我收到了如下所述的输出。
以字符串形式输出为向上/向下箭头
[0:] Status res: ?
或整数形式
[0:] Status res: 1
我可以知道我在这里犯了什么错误吗?我已经提到了其他使用 python 或 java 开发并转换为 C# 的问题,但它仍然没有像我预期的那样产生正确的输出。我可以知道我在这里做错了什么吗?我正在使用 ESCPOS Nuget 将文本转换为字节形式。
我使用的打印机是 Bixolon,型号是 SPP-R410。我正在使用 ESC/POS 命令以 Xamarin 形式开发此应用程序。
谢谢。
【问题讨论】:
标签: c# xamarin.forms bluetooth escpos