POS для форматирования печати .Net - нельзя использовать escape-символ (символ) 27
Я выяснил, как печатать основной текст на нашем POS-принтере, но не могу понять, как заставить работать escape-символы (для полужирного шрифта, выравнивания текста и т. Д.). Сейчас я только тестирую с помощью симулятора Microsoft PosPrinter.
Вот то, что я пытаюсь
_printer.PrintNormal(PrinterStation.Receipt, (char)27 + "|bC" + printText + (char)13 + (char)10);
Я ожидаю, что это напечатает мойprintText
жирным шрифтом с последующим переводом строки. Когда вынимаю(char)27 + "|bC"
тогда работает нормально.
документация для кодов выхода здесь
Я получаю ошибку
A first chance exception of type 'System.FormatException' occurred in Microsoft.PointOfService.ControlBase.dll Input string was not in a correct format.
Я попробовал несколько вариантов, но, кажется, не могу обернуть голову вокруг него.
Edit, Вот трассировка стека.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int32.Parse(String s, IFormatProvider provider)
at Microsoft.PointOfService.DeviceSimulators.PosPrinterSimulatorWindow.ProcessEscapes(String str)
at Microsoft.PointOfService.DeviceSimulators.PosPrinterSimulatorWindow.DisplayText(String str)
at Microsoft.PointOfService.DeviceSimulators.PosPrinterSimulator.PrintNormalImpl(PrinterStation station, PrinterState printerState, String data)
at Microsoft.PointOfService.BaseServiceObjects.PosPrinterBase.OutputRequestHandler(OutputRequest Request)
at Microsoft.PointOfService.Internal.PosCommonInternal.ProcessOutputRequest(OutputRequest request, Boolean asyncOperation)
at Microsoft.PointOfService.BaseServiceObjects.PosPrinterBase.ProcessRequest(PrintOperation operation)
at Microsoft.PointOfService.BaseServiceObjects.PosPrinterBase.PrintNormal(PrinterStation station, String data)
at MyProjectNamespace) in MyFile.cs:line 74