如何通过 ZPL 将 dpi 从 200 更改为 300

How to change the dpi from 200 to 300 through ZPL

如何通过 ZPL 将 dpi 从 200 更改为 300?

我想在打印机 S4M (200 dpi) 和 ZT230 (300 dpi) 上使用相同的 ZPL 代码。

我认为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。

希望对您有所帮助

这是一个可能对您有所帮助的模拟器

http://labelary.com/viewer.html?density=8&width=4&height=6&units=inches&zpl=%5EXA%0A%0A%5EFO0%2C0%5EGB700%2C0%2C3%5EFS%0A%0A%5EXZ

^MU 命令设置打印机使用的测量单位。 ^MU 作品 在逐场的基础上。一旦设置了单位模式,它将从一个字段转移到另一个字段,直到输入一个新的单位模式。 ^MU 还允许以较低的分辨率进行打印——600 dpi 打印机能够以 300、200 和 150 dpi 进行打印; 300 dpi 打印机能够以 150 dpi 进行打印。

对于 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