我正在努力证明我正在使用.Net程序中的ZPL进行打印的条形码。这是我目前的代码:
^FO10,50^FB500,1,0,R,0^AO,40,40^BY3^BCN,100,Y,N,N^FD1234567^FS^XZ
使用条形码时,字段块似乎被忽略,但对于文本,它正确地证明了它。有什么想法吗?
答案 0 :(得分:9)
较新的Zebra固件支持^FO
和^FT
上的第三个参数。如果要右对齐某些内容,请将右边指定为 x 参数,并将1作为第三个参数。
^XA
^BY3
^FO85,30^GB500,450,3^FS
^FO100,50^BCN,30,Y,N,N
^FD>;12345678^FS
^FO100,120N^BCN,30,Y,N,N
^FD>;123456^FS
^FO100,190^BCN,30,Y,N,N
^FD>;1234^FS
^FO570,260,1^BCN,30,Y,N,N
^FD>;12345678^FS
^FO570,330,1^BCN,30,Y,N,N
^FD>;123456^FS
^FO570,400,1^BY3^BCN,30,Y,N,N
^FD>;1234^FS
^XZ
答案 1 :(得分:1)
我们公司遇到了同样的问题。条形码不响应Field Block。根据您的示例,因为您直接使用ZPL命令生成条形码(而不是条形码图像),您可以执行类似于我们的操作。我们基于我们写入的数据大致知道条形码的宽度。因此,我们创建了一种方法,根据我们已知的标签宽度确定条形码的x轴位置。
例如:我们使用s4M打印机并估计全标签宽度约为780点宽。因此,为了左/中/右对齐,我们采用粗略的条形码(估计的)宽度并相应地计算(左边设置为x轴= 0,中心设置为x轴=((780-条形码宽度)/ 2),右边合理的是xaxis =(780 - barcodeWidth)。它不是一个完美的解决方案,但至少对我们的需求非常接近。通过查看更多条形码设置信息,如数据平方大小,你当然可以更精确地在算法中,列,行等......取决于您的需求。
如果您想出一个生成条形码图像的解决方案(这也是我们现在想要提出的),那么您应该可以使用内置版本轻松获取条形码图像的宽度.net图形功能。