EPL - 控制 128 条码长度

Posted

技术标签:

【中文标题】EPL - 控制 128 条码长度【英文标题】:EPL - Control 128 barcode length 【发布时间】:2013-07-01 22:35:39 【问题描述】:

我正在使用 EPL 直接从 Zebra 打印机(更具体地说是 LP 2844)打印条形码。我遇到的问题是我无法控制条形码的物理长度。

例如,这2行代码会打印2个不同长度的条码,即使窄条宽度、宽条宽度和内容长度设置相同。

B134,308,0,1,4,12,160,B,"00G38EX"
B136,540,0,1,4,12,160,B,"0086150" 

我知道输入内容在这里很重要,但我无法弄清楚它是如何工作的。有没有办法将条形码的长度设置为固定或至少使其可控,即:给定已知的输入内容,我知道我应该期望物理长度是多少。

【问题讨论】:

【参考方案1】:

你是对的 - 它是数据敏感的。

代码 128 有 3 个子字母。设置“A”包含所有 ASCII 控制代码、数字、许多符号和大写字母 (00H..5FH)。设置“B”包含“printables”(符号、数字、双写字母 - 20H..7FH)。代码“C”包含数字对 (00..99)。

start-code选择要使用的字母表,set-in-use可以通过插入START-A、START-B或START-C来切换。

遗憾的是,固件不允许强制执行代码(根据文档),并且通过分析要打印的字符串来打印最短的条码。

所以 - 在您的情况下,代码应该是 START-A/0/0/G/3/8/E/X/STOP = 7 个数据元素 START-C/00/86/15/START-A/0/STOP = 5 个数据元素

对于 7 个字符的数据,代码永远不会比第一个长,也不会比第二个短(我们不要讨论控制字符的可能性......)

选择哪一个取决于要打印的单个序列。我确信它可以解决 - 两位数的序列需要额外的 1 个元素,但可以节省 1; 4 位数成本 1 但节省 2 - 如果序列位于字符串的一端或另一端。

最好为可能的最长(全 alpha)编程并接受压缩作为奖励。

【讨论】:

以上是关于EPL - 控制 128 条码长度的主要内容,如果未能解决你的问题,请参考以下文章

在 Code128 条码中编码控制字符

ZPL - 我们如何控制 ^BC(代码 128)条码的宽度

怎么向斑马条码打印机发送指令啊 usb接口

使用包含 FNC3 功能字符的 Zend 条码组件创建 Code 128 条码

code128条形码的开始停止字符是啥

使用LODOP打印控件,选择128Auto格式,打印相同位数的条码。