如何在不指定文本每个部分位置的情况下打印价格? (ZPL)
How to print price without specyfing location of every part of the text? (ZPL)
他想要得到的效果是:
- 价格正常打印
- 接近价格我要打印上标剩余价格
- 最后我想把货币放在下标。
问题是我不想指定文本每一部分的位置。
^XA
^PW480
^FS
^JMA
^MMT
^LS0
^MTD
^CI28
^FO40,11
^FWN
^CF0,16.2,20.7
^FD2144
^FS
^CI28
^FO80,10
^FWN
^CF0,8,8
^FD00
^FS
^CI28
^FO100,10
^FWN^CF0,16.2,17.25
^FDEUR
^FS
^XZ
所以问题是在指定位置的文本之后只打印一次文本吗?没有为文本的每个部分指定位置?
使用^FT
代替^FO
,并且只指定第一个^FT
的X坐标。
默认情况下,^FT
从上一个格式化操作完成的点恢复,您可以分别为 X 和 Y 组件提供手动覆盖,因此您只需为后续的 Y 组件提供覆盖^FT
s 并让它自动计算 X:
^FT40,11^A0,16.2,20.7^FD2144^FS
^FT,6^A0,8,8^FD00^FS
^FT,11^A0,16.2,17.25^FDEUR^FS
请注意,您需要向下调整 Y 坐标,因为 ^FO
与文本行的顶部对齐(悬挂在其上的字母),而 ^FT
与底部对齐(字母站在上面)。
另请注意,^CF
更改打印机范围的默认字体,在每个命令之前使用它没有意义。如图所示,使用 ^A
代替。您也不需要在每个命令之前设置 ^CI
,它又是对整个标签文本进行编码的全局设置。
他想要得到的效果是:
- 价格正常打印
- 接近价格我要打印上标剩余价格
- 最后我想把货币放在下标。
问题是我不想指定文本每一部分的位置。
^XA
^PW480
^FS
^JMA
^MMT
^LS0
^MTD
^CI28
^FO40,11
^FWN
^CF0,16.2,20.7
^FD2144
^FS
^CI28
^FO80,10
^FWN
^CF0,8,8
^FD00
^FS
^CI28
^FO100,10
^FWN^CF0,16.2,17.25
^FDEUR
^FS
^XZ
所以问题是在指定位置的文本之后只打印一次文本吗?没有为文本的每个部分指定位置?
使用^FT
代替^FO
,并且只指定第一个^FT
的X坐标。
默认情况下,^FT
从上一个格式化操作完成的点恢复,您可以分别为 X 和 Y 组件提供手动覆盖,因此您只需为后续的 Y 组件提供覆盖^FT
s 并让它自动计算 X:
^FT40,11^A0,16.2,20.7^FD2144^FS
^FT,6^A0,8,8^FD00^FS
^FT,11^A0,16.2,17.25^FDEUR^FS
请注意,您需要向下调整 Y 坐标,因为 ^FO
与文本行的顶部对齐(悬挂在其上的字母),而 ^FT
与底部对齐(字母站在上面)。
另请注意,^CF
更改打印机范围的默认字体,在每个命令之前使用它没有意义。如图所示,使用 ^A
代替。您也不需要在每个命令之前设置 ^CI
,它又是对整个标签文本进行编码的全局设置。