15
  1. 如何为“文本”添加换行符?比如说:

    Hello World
    

    会变成

    Hello
    World
    

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

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

4

8 回答 8

14

用于\&新行

^FT78,76^A0N,28,28^FH\^FDHello\&World^FS
于 2013-07-10T16:30:57.663 回答
13

我建议您结合 Thorsten 和 Dharmesh 的答案以获得最大效果:

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

这样做会产生一个如下所示的标签:

结果说

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

于 2014-12-17T12:54:18.533 回答
7

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

我使用了这样的一行:

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

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

于 2014-02-04T10:57:54.433 回答
4

^FX 不理解 \n,您需要将它传递给 \0A(\n 的十六进制等效项)ASCII wiki 页面

所以你的 ZPL 应该看起来像

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

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

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

于 2013-02-03T16:51:45.120 回答
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手册详细介绍了 ^TB(文本框)命令,其中包括自动换行。

于 2012-12-19T05:00:48.053 回答
1

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

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

起作用的是将新行转换为十六进制_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

...会输出这样的票:

ششش
ششش
ششش
于 2017-04-03T10:59:32.267 回答
-3

对于 android,"\r\n" 用于添加换行符。

text.replaceAll("\n", "\r\n");
于 2021-10-09T11:49:34.957 回答
-4

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

于 2012-11-17T22:49:19.000 回答