我已经编写了标签打印软件(Windows,WPF,C#,。net 4.5),可以使用Datamax H-Class打印机快乐打印条形码,但有一个例外,当打印以字符{{开头的条形码时1}}
当我尝试这样做时,条形码被截断,直到其中的第一个数字字符。
小写C
工作正常,但由于我们的某些模型代码以c
开头,我需要找到解决此方法的方法。
我猜必须有某种逃避角色可以允许这个吗?但我还没有通过谷歌找到它。
我不是100%肯定它也是代码128问题,它可能与Datamax H-Class打印机,Datamax Windows C#SDK或我们正在使用的code128字体有关打印机?
对不起,细节是如此模糊,任何有关下一步检查的帮助或建议将非常感谢。
更新即可。
以防这是有用的(我怀疑它虽然很遗憾)我用来将条形码发送到打印机的代码(在所有条形码字符串不以C
开头的情况下成功)如下:
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);
对象来自Datamax C# SDK。我可以在代码中看到的唯一可能的问题可能是ParametersDPL
或IsUnicode
属性的设置,但我已经对它们进行了实验,但实际上没有任何效果。 TextEncoding
上的其他任何属性似乎都不是罪魁祸首。
答案 0 :(得分:3)
我对Datamax PCL不熟悉,但症状表明" C"用于选择subalphabet" C"代码128。尝试股票代码开始" A"或" ZB"看看" A"或" B"消失。如果是,则可以使用第一个字符来选择子字母(" A"仅限上限的ASCII," B"是无控制的ASCII。)
然后,您需要仔细查看Datamax PCL格式 - 可能是那里有一个(可能是可选的)格式化字符,这使得它对字符敏感。也许是在领导" B"会解决这个问题。