无法设置 Microsoft POS C# 字符集属性。

Tun*_*rım 5 .net c# printing opos display

我安装了 Bixolon BCD-1000 OPOS 驱动程序。它可以打印 ASCII 字符;但是我必须打印西里尔字符。当我尝试将字符集 437(默认字符集)更改为 999(UNICODE)时,它返回错误消息。\n[故障消息][1]

\n\n
        public void DisplayStringOnPort(string line)\n    {\n        PosExplorer posExplorer = new PosExplorer();\n        DeviceInfo receiptPrinterDevice = posExplorer.GetDevices()[0];\n        var list = posExplorer.GetDevices();\n        foreach(DeviceInfo x in list)\n        {\n            if(x.ServiceObjectName.Equals("BCD-1000"))\n            {\n                receiptPrinterDevice = x;\n\n            }\n        }\n        LineDisplay printer = posExplorer.CreateInstance(receiptPrinterDevice) as LineDisplay;\n        printer.Open();\n        printer.Claim(1000);\n        string str = "\xd0\x9a\xd0\xb8\xd1\x80\xd0\xb8\xd0\xbb\xd0\xb8\xd1\x86\xd0\xb0";\n        printer.CharacterSet = 999; // Unicode Fault Message \n        printer.DeviceEnabled = true;\n        printer.DisplayTextAt(2, 1, text);\n        printer.Close();\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

我该如何克服这种情况?\n谢谢

\n

kun*_*nif 2

CharacterSet 属性只能设置为CharacterSetList 属性中包含的值的数值。

如果CharacterSetList属性的值不包含999,则不能将CharacterSet属性设置为999。

请检查 Bixolon BCD-1000 OPOS 驱动程序的 CharacterSetList 属性的规范。

另外,999是ANSI字符集的值。UNICODE 的值为 997。

也许最好在将 DeviceEnabled 属性设置为 true 后设置 CharacterSet 属性。