Hello World
将成为 的你好 世界
无论如何,我可以为我的代码添加一个新行字符吗?
^FT78,76^A0N,28,28^FH\^FDHello\nWorld^FS
答案 0 :(得分:10)
将\&
用于新行
^FT78,76^A0N,28,28^FH\^FDHello\&World^FS
答案 1 :(得分:9)
我建议你将Thorsten和Dharmesh的答案结合起来以达到最大效果:
^FB400,2,0,C^FO0,50
^FDHello\&World^FS
这样做会产生如下标签:
这种方法的好处是两个:首先,文本块将适当地定位和对齐新行。其次,您可以完全控制换行的实际位置。
答案 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)。希望这有帮助。