打印希腊字符在热InnerPrinter Sunmi c#毛伊



我试图将希腊字符打印到Sunmi V2sPlus设备中的热InnerPrinter,我尝试了迄今为止我发现的一切,但没有运气。而不是希腊字符,我打印未知的符号。为此,我使用ESCPOS_NET和system . text . encoding . copages库。我的代码是:

try
{                
using BluetoothSocket _socket = device.CreateRfcommSocketToServiceRecord(UUID.FromString("00001101-0000-1000-8000-00805f9b34fb"));
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); //instance property
await _socket.ConnectAsync();
switch (input)
{
case "LF":
_socket.OutputStream.WriteByte(0x0A);
break;
default:
var isoEncoding = Encoding.GetEncoding("ISO-8859-7");  //1253  
var bytes = Encoding.Unicode.GetBytes(input);
byte[] message = Encoding.Convert(Encoding.Unicode, isoEncoding, bytes); //Encoding.UTF8.GetBytes(input) // CP737  ISO-8859-7
await _socket.OutputStream.WriteAsync(message, 0, message.Length);
_socket.OutputStream.WriteByte(0x0A);
}
_socket.Close();
}
catch (Exception)
{
throw;
}

从2分钟阅读他们的文档:

  1. 如何选择和设置字符集。背景:内置打印机兼容传输信息二进制字节流,因此必须为文本选择和设置字符集以字节码的形式发送;多字节,GB18030字符编码是默认设备设置。

和一些例子:

打印CP866,请发送:0x1C 0x2E——将其设置为单字节编码类型0x1B 0x74 0x11——将其设置为

的CP866

在为特定设备编写软件时,你真的应该处理文档。有时候,即使你认为某件事有用,你也可能忽略了一些重要的东西。

祝你在发布后修复bug好运。

最新更新