如何通过 ZPL 将 dpi 从 200 更改为 300?
我想在打印机 S4M (200 dpi) 和 ZT230 (300 dpi) 上使用相同的 ZPL 代码。
如何通过 ZPL 将 dpi 从 200 更改为 300?
我想在打印机 S4M (200 dpi) 和 ZT230 (300 dpi) 上使用相同的 ZPL 代码。
^MU 命令设置打印机使用的测量单位。^MU 在逐个领域的基础上工作。一旦设置了单位模式,它就会从一个字段转移到另一个字段,直到输入一个新的单位模式。^MU 还允许以较低的分辨率打印 - 600 dpi 打印机能够以 300、200 和 150 dpi 打印;300 dpi 打印机能够以 150 dpi 打印。
我认为不可能对 200 和 300 dpi 使用相同的标签,dpi 代表每英寸的点数,您所要做的就是进行转换,例如
矩形命令是
^FO0,0^GB700,0,3^FS
//that means
^startField,x,y^GBwidth,height,lineWeight^endField
在这种情况下width
= 700 点,这意味着对于 300dpi 打印机,这将需要 2.3 英寸,而对于 200dpi 打印机,则需要 3.5 英寸,因此如果您希望两个打印机的长度相同,您可以这样做
700/300 = 2.3, so x/200 = 2.3 then x = 200 * 2.3 , x = 460
这意味着,如果您想要 2.3 英寸的行长,则使用 300dpi 打印机width
参数应该是 700,而对于 200dpi 打印机,则使用 460。
希望这可以帮助
这是一个可以帮助你的模拟器
对于 c# 用户:isatufan 制作了一个 ZPL-Handler,它按给定因子缩放 ZPL 的所有属性:
https://gist.github.com/isatufan/e22dc07ac7968fcb8e9a6046fa15f57a
并非所有 ZPL 命令都得到处理,但很容易添加缺少的命令。
根据原始 ZPL 圣经,可以降低覆盖率。
我将所有标签都保留在 300 中,因为这里的大多数打印机都是 300,而那些应用检测到较低分辨率打印机的打印机会添加以下行:
^MUd,200,300
https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf