我们正处于Oracle ERP实施阶段,我的任务是重新设计我们的标签以使用新系统。我们的产品标签需要包含以[TAB]字符分隔的商品和批号编码的QR码。 Oracle将向打印机发送包含可变数据的XML文件,以便与存储在打印机上的格式一起使用。Zebra存储格式 - 带有来自XML的[TAB]字符的QR
硬编码工作得很好,我得到一个QR与 'FOO [TAB] BAR' 编码:
^XA
^DFE:QR_TEST.ZPL
^MCY
^FO50,50
^BQN,2,10^FN1^FH^FDQA,$$QR_CODE$$^FS
^FO50,350
^AON,30,30^FN1^FD$$QR_CODE$$^FS
^XZ
:当我创建的打印机上存储格式
^XA
^FO50,50
^BQN,2,10^FH^FDQA,FOO_09BAR^FS
^PQ1,0,1,Y
^XZ
奇怪的事情发生并发送以下XML文件:
<?xml version="1.0" standalone="no" ?>
<!DOCTYPE labels SYSTEM "label.dtd">
<labels _FORMAT="QR_TEST.ZPL" _QUANTITY="1" _PRINTERNAME="" _JOBNAME="TEST">
<label>
<variable name="$$QR_CODE$$">FOO_09BAR</variable>
</label>
</labels>
有趣的是,没有文本字段定义的标签不打印。在添加文本字段后,标签将打印,但生成的QR码将丢弃'FOO',并在文本字段打印'FOO_09BAR'时仅扫描'_09BAR'。
如果我将'_09'从$$ QR_CODE $$变量定义中删除,文本字段会按预期打印'FOOBAR',但QR码扫描为'BAR',因此无论出于何种原因, QR正在丢弃数据的前三个字符。
我一直追逐我的尾巴在这一天没有进步,所以我想知道是否有任何人在这里比我更能体会到这个问题。
我的两个问题是:
- 为什么QR码下探的前三个字符?
- 如何使用XML中的变量数据 将[TAB]字符嵌入到QR代码中?
我没有支持XML的Zebra,但我建议'QR_CODE'中的下划线可能会引起混淆。我想提出的另一个建议是将'FOO'和'BAR'作为两个单独的字段并将标签插入到标签格式中。 – Magoo
我猜测变量名中的下划线不是问题,因为大多数传递给我们标签的变量名都包含下划线。这只是QR给我的问题。尽管如此,值得一试。我以前曾尝试将两个变量放入同一个标签字段中,但未取得成功。 Zebra需要将变量名称与字段号相关联,例如,^FN1。我们无法将字段编号与两个xml变量相关联,或者无法在同一字段中使用两个字段编号。 –
所以'^ BQN,2,10^FN1^FH^FDQA,$$ FOO_PART $$ _ 09 $$ BAR_PART $$^FS'不能治愈吗?对不起 - 我没有支持XML的打印机,所以我无法实验...... :( – Magoo