Я написал программное обеспечение для печати этикеток (Windows, WPF, C #, .net 4.5), которое с радостью печатает штрих-коды на принтере Datamax H-Class, за одним исключением, при печати штрих-кода, который начинается с символа C
Когда я пытаюсь это сделать, штрих-код обрезается до первого числового символа в нем.
Строчные c
работают нормально, но поскольку некоторые из наших кодов моделей начинаются с C
, мне нужно найти способ обойти это.
Я предполагаю, что должен быть какой-то escape-символ, который позволил бы это? Но через гугл найти не удалось.
Я не уверен на 100%, что это проблема code128, может ли она быть связана с принтером Datamax H-Class, Datamax Windows C # SDK или, возможно, шрифтом code128, который мы используем на принтере?
К сожалению, детали настолько расплывчаты, мы будем очень признательны за любую помощь или совет о том, что проверить дальше.
Обновить.
На всякий случай (я в этом сомневаюсь, к сожалению) код, который я использую для отправки штрих-кодов на принтер (успешно в случае, если все строки штрих-кода не начинаются с C
), выглядит следующим образом:
ParametersDPL paramDPL = new ParametersDPL();
paramDPL.Align = ParametersDPL.Alignment.Left;
paramDPL.Rotate = ParametersDPL.Rotation.Rotate_270;
paramDPL.IsUnicode = false;
paramDPL.TextEncoding = Encoding.ASCII;
paramDPL.WideBarWidth = 7;
paramDPL.NarrowBarWidth = 4;
paramDPL.SymbolHeight = 60;
//if the stockCode starts with 'C' the barcode will be truncated
docDPL.WriteBarCode("E", String.Format("{0} {1}", stockCode, serialNumber), COL_1, ROW_5, paramDPL);
Объект ParametersDPL
взят из Datamax C # SDK. Единственная возможная проблема, которую я мог видеть с кодом, - это, возможно, установка свойств IsUnicode
или TextEncoding
, но я экспериментировал с ними довольно немного, но безрезультатно. Ни одно из других владений на ParametersDPL
также не казалось вероятным виновником.