You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

添加字体后ZPL中TB指令文本无法换行的技术求助

解决ZPL文本块添加字体后自动换行失效的问题

这问题我之前调试ZPL标签时也踩过坑!核心原因是你把ZPL指令的执行顺序搞反了。

ZPL是按指令书写的先后顺序依次生效的:你原本先定义了文本块^TB,300,200,再设置字体^ADN,20,12,这时候文本块的换行计算逻辑已经用默认字体的字符宽度完成了,后续设置的新字体根本没被文本块识别到,自然不会自动换行。

修正后的代码

只需要把字体指令移到文本块指令的前面,让^TB基于你指定的字体来计算换行宽度:

^XA
^FO120,60^ADN,20,12^TB,300,200^FD1 puff pa morgonen, 1 puff pa kvallen. Inandas. Kortison ^FS
^XZ

额外说明

  • ^ADN,20,12先定义字体(20号高度、12号宽度的Arial字体),之后的^TB,300,200会用这个字体的字符尺寸来判断:当文本宽度超过300点时自动换行,同时整个文本块的高度限制为200点,超出部分会被截断(如果需要显示全部内容,可以适当调大第二个参数值)。
  • 如果你需要强制手动换行,也可以在^FD的文本里插入&符号(ZPL的换行转义符),不过自动换行的场景下调整指令顺序就足够解决问题了。

内容的提问来源于stack exchange,提问作者hellogoodnight

火山引擎 最新活动