我正在尝试正确证明我正在使用 .Net 程序中的 ZPL 打印的条形码。这是我当前的代码:
^FO10,50^FB500,1,0,R,0^AO,40,40^BY3^BCN,100,Y,N,N^FD1234567^FS^XZ
使用条形码时,字段块似乎被忽略了,但对于文本,它正确地证明了它的合理性。有任何想法吗?
较新的 Zebra 固件支持第三个参数 on^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
我们公司也有同样的问题。条形码不响应字段块。根据您的示例,因为您直接使用 ZPL 命令来生成条形码(而不是条形码图像),您可以执行与我们类似的操作。根据我们写入的数据,我们大致知道条形码的宽度。因此,我们创建了一种方法来根据我们已知的标签宽度确定条形码的 x 轴位置。
例如:我们使用 s4M 打印机,估计整个标签宽度约为 780 点宽。所以为了左/中/右对齐,我们采用粗略的条形码(估计)宽度并相应地计算(左边设置为 xaxis = 0,中心设置为 xaxis = ((780 -barcodeWidth) / 2),右边justified 将是 xaxis = (780 -barcodeWidth)。这不是一个完美的解决方案,但至少非常接近我们的需求。您当然可以通过查看更多的条形码设置信息(如数据正方形大小)来更精确地使用您的算法,列,行等...取决于您的需要。
如果您要提出生成条形码图像的解决方案(这也是我们现在也在尝试提出的),那么您应该能够使用内置 .net 图形轻松获取条形码图像的宽度功能。