【发布时间】:2016-07-20 01:27:33
【问题描述】:
我正在编写代码来打印植物园的标签。每个标签都是单独打印的,但每个标签上的信息不同。每个标签都包含一个科学名称,其大小差异很大,因此可以超过 2 行(我们的标签尺寸为 10 厘米宽 x 2.5 厘米高)。 当我们超过 24 个字符时,我们的问题主要出现在名称上(参见带 ** 的行)。 如果我们选择一个不超过 24 个字符的名称,那么它会打印得很好。 任何更多它都不会打印。 如果我们从标签中删除所有其他“项目”并只留下“名称”元素,那么它只打印前 24 个字符并截断其余字符(我们这样做是为了测试我们的 ^FB 块和另一个元素之间是否可能重叠可能导致此问题)。 我们对使用 ^FB 的其他元素进行了尝试,发现它们表现出相同的行为,但发生此问题的长度不同:例如,“cc”(国家代码的缩写)限制为 21 个字符。
补充信息:我们在 BASIC 环境中编译此代码并使用变量,例如“:name:”、“:Acc.dt”:”,如下所示。我们的数据库提供了这些信息,我们已经检查了任何内部会截断长名称等的例程。我们的代码在 ZPL 中运行良好,但我们最近不得不迁移到 ZPL II(我们购买了更新的型号 GX430t)并且不得不修改我们的 ZPL 代码,此时此问题开始出现。
这是我们的代码:
^XA
^LH40,40
^MMT
^PW1200
^LL1200
^FO16,05^A0N,35,^FDAcc. num.^FS
^FO170,05^A0,35,^FV":accnum:"^FS
^FO360,05^A0,35,^FV":qual:"^FS
^FO350,35^A0N,30,^FDAcc.dt.^FS
^FO450,35^A0N,30,^FB790,3,0,L,
^FH\^FV":accdt:"^FS
^FO430,70^^A0N,25,^FB790,3,0,L,
^FH\^FDProv. type^FS
^FO560,70^A0N,25,^FV":provtype:"^FS
^FO800,225^A0N,30,^FB790,3,0,L,
^FV":cc:"^FS
**^FO10,100^A0N,40,^FB790,3,0,L,
^FV":name:"^FS**
^FO1000,05^A0,35,^FV":proptype:"^FS
^FO5,225^A0,25^FVColl.^FS
^FO55,225^A0,25^FV":coll:"^FS
^FO375,225^A0,25,^FV":consstat:"^FS
^FO1000,70^A0,25,^FV":reqby:"^FS
^FO535,180^BCN,55,N,N,N^FV":qual:"^FS
^FO60,45^BCN,35,N,N,N^FV":accnum:"^FS
^PQ1,0,1,Y
^XZ
这是我们试图解决的问题(如果有些看起来像通配符,我们深表歉意):
- 更改标签上的字体类型、大小和位置;
- 将 ^FO 更改为 ^FT;
- 查看了我们内部的数据库逻辑;
- 带走^FH\;
- 更改 ^FB 行中的值(我们尝试了几乎所有可能的排列方式);
- 手动输入的名称超过 24 个字符(使用记事本 - 没有数据库/编译器)- 同样的问题。
对此的任何想法将不胜感激 克里
【问题讨论】:
-
我们如何在 zpl 中写一个粗体的文本?