我想出了如何将基本文本打印到我们的 POS 打印机,但我不知道如何让转义字符起作用(用于粗体、文本对齐等)。现在我只是在使用 Microsoft PosPrinter Simulator 进行测试。
这就是我正在尝试的
_printer.PrintNormal(PrinterStation.Receipt, (char)27 + "|bC" + printText + (char)13 + (char)10);
我希望printText
以粗体打印我的内容,然后是换行符。当我取出时,(char)27 + "|bC"
它工作正常。
转义码的文档在这里
我得到的错误是
Microsoft.PointOfService.ControlBase.dll 中出现“System.FormatException”类型的第一次机会异常输入字符串的格式不正确。
我尝试了一堆变体,但似乎无法理解它。
编辑. 这是堆栈跟踪..
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