5

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

        public void DisplayStringOnPort(string line)
    {
        PosExplorer posExplorer = new PosExplorer();
        DeviceInfo receiptPrinterDevice = posExplorer.GetDevices()[0];
        var list = posExplorer.GetDevices();
        foreach(DeviceInfo x in list)
        {
            if(x.ServiceObjectName.Equals("BCD-1000"))
            {
                receiptPrinterDevice = x;

            }
        }
        LineDisplay printer = posExplorer.CreateInstance(receiptPrinterDevice) as LineDisplay;
        printer.Open();
        printer.Claim(1000);
        string str = "Кирилица";
        printer.CharacterSet = 999; // Unicode Fault Message 
        printer.DeviceEnabled = true;
        printer.DisplayTextAt(2, 1, text);
        printer.Close();
    }

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

4

1 回答 1

2

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

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

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

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

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

于 2017-11-28T01:57:29.880 回答