基本的なテキストをPOSプリンターに印刷する方法はわかりましたが、エスケープ文字を機能させる方法(太字、テキストの配置など)がわかりません。今のところ、私はMicrosoftPosPrinterSimulatorでテストしています。
これが私が試していることです
_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