Zebra ZPL的新系列

时间:2012-11-16 12:07:35

标签: zebra-printers zpl

  1. 如何为“文字”添加换行符号?比如说:
  2. Hello World

    将成为 的你好 世界

    无论如何,我可以为我的代码添加一个新行字符吗?

    ^FT78,76^A0N,28,28^FH\^FDHello\nWorld^FS
    
    1. 如果我的标签中的“文字”太长,我该如何添加另一行?

8 个答案:

答案 0 :(得分:10)

\&用于新行

^FT78,76^A0N,28,28^FH\^FDHello\&World^FS

答案 1 :(得分:9)

我建议你将Thorsten和Dharmesh的答案结合起来以达到最大效果:

^FB400,2,0,C^FO0,50
^FDHello\&World^FS

这样做会产生如下标签:

result saying "Hello World"

这种方法的好处是两个:首先,文本块将适当地定位和对齐新行。其次,您可以完全控制换行的实际位置。

答案 2 :(得分:4)

虽然这个问题有点旧,但确实提到ZPL命令^ FT是指示文本元素出现的 的命令。 78和76分别对应于标签的X轴和Y轴,测量单位是点。考虑到这一点,前面的答案原则上是正确的。您可以使用更改的y参数调用另一个^ FT命令,例如:

^FT78,78^A0N,28,28^FH\Hello^FS
^FT78,110^A0N,28,28^FH\World^FS

作为替代方案,ZPL manual详细说明了^ TB(文本框)命令,其中包括自动换行。

答案 3 :(得分:4)

^ FX不理解\ n,你需要传递它\ 0A(\ n的十六进制等价物)ASCII wiki page

所以你的ZPL看起来应该是

^FT78,76^A0N,28,28^FH_^FDHello_0AWorld^FS

我将十六进制字符更改为_ vs \,以便在完成后查看此字符的其他人不会感到困惑。

Jason关于使用^ FB命令的想法是一个很好的主意。它有一些奇怪的属性(文本旋转),但通常是文本换行。

答案 4 :(得分:4)

我知道这个问题很老了,但我发现^FB命令(字段块)实际上非常适合包装文本:

我使用了这样的一行:

^A0R,54,54^FO505,3424^FB630,2,0,L,0^FDThis is a pretty long line of text^FS

它很好地包裹成两行。你唯一需要注意的是,包装似乎只在空格处进行,而不是以逗号或任何其他标点符号进行。

答案 5 :(得分:1)

不回答原始问题,但对于使用ZPL进行unicode的任何人来说,这可能会有所帮助。

我正在使用^TB用于阿拉伯文字,但发现\&无法创建新行。

convert new line to hex_0A)的工作是什么,并使用它。

例如:

^XA
^LL0406
^CI28
^CWZ,E:TT0003M_.FNT
^PA0,1,1,0

^FO609,50,2
^AZN,40,35
^TBN,559,300
^FH
^FD
_D8_B4_D8_B4_D8_B4_0A <-- new line
_D8_B4_D8_B4_D8_B4_0A <-- new line
_D8_B4_D8_B4_D8_B4
^FS


^PQ1
^XZ

...会输出这样的票:

ششش
ششش
ششش

答案 6 :(得分:0)

对于使用Android Studio或任何预解析字符串文字的IDE的用户,请使用:

 stringWithLineBreaks.replace(Regex("\n"), "\\\\&")

答案 7 :(得分:-2)

不幸的是,你真的不能这样做。您可能已经发现文本太长了,它回绕到同一条线上。 您必须创建一个新行以容纳文本。我忘了那个字符串中的哪个数字是位置(可能是28,28)尝试添加一行,将它们更改为34,28并查看它是否移动到下面的新行....只需使用这4个数字在那条线的前面。 一个是字体大小(可能对你有帮助),其他两个是从顶部和右边的位置。一个简单的方法是使用文本编辑器编辑文件,并从命令行执行复制命令到打印机UNC路径,看看你得到了什么。 (即复制“C:\ test.txt \ 127.0.0.1 \ zebra)。希望这有帮助。