Я пытаюсь напечатать символы языка на POS-принтере. Принтер хорошо печатает, но результат настолько плох. Это то, что я пробовал:Печать символов Unicode для POS-принтера
using (MemoryStream ms = new MemoryStream())
using (BinaryWriter bw = new BinaryWriter(ms))
{
bw.Write(AsciiControlChars.Escape);
bw.Write('@');
//ESCCMD.RenderBitmap(bw, logo);
bw.Write("Đây là Tiếng Việt");
bw.Write(AsciiControlChars.Escape);
bw.Write('d');
bw.Write((byte)3);
// Feed 3 vertical motion units and cut the paper with a 1 point uncut
bw.Write(AsciiControlChars.GroupSeparator);
bw.Write(AsciiControlChars.V);
bw.Write((byte)66);
bw.Write((byte)3);
bw.Flush();
RawPrinterHelper.SendToSerialPort(ms.ToArray(), txtPortTest.Text, Convert.ToInt32(cbbBaudRate.SelectedValue));
}
Так как я могу печатать свои языковые символы с помощью команды ESC/POS? Большое спасибо!
Что значит результат плохой? Разве что персонажи не написаны должным образом? Затем, пожалуйста, убедитесь, что используемый шрифт поддерживает правильные символы. –
Да @AfzaalAhmadZeeshan! Символы не написаны должным образом, и не существует способа определить семейство шрифтов в команде ESC/POS. Я отправляю строку как необработанные данные на принтер. – HICURIN
Вы уверены, что строковая кодировка правильная? попробуйте преобразовать его в строку Encoding.Unicode –