PNG Zebra 打印机命令 - 它们是什么意思?
PNG Zebra Printer Commands - What do they mean?
我从另一个问题(最高分答案)中复制了这个。当 运行 它时,我没有收到任何错误,但它也没有打印任何东西。
我的 PNG - 删除了个人内容
我的问题是,他们使用的代码是什么?
zplToSend
- "^XA" - 开始
- "^MNN" - 看不到这是什么
- "^LL500" - 我的图像被 gaps/spaces 等分隔,所以我需要这个吗?
- "~DYE:LOGO,P,P," - 似乎用于将其存储到永久闪存中,不确定我是否热衷于此。我想马上打印,为什么要永久打印
- binaryData.Length - 为什么这是 binaryData.Length 而不是 zplImageData.Length
- zplImageData
- “^XZ”- 结束
打印图片
- "^XA" - 开始
- ^IME:LOGO.PNG - 这是对 ~DYE:Logo 的引用吗?
^XZ" - 结束
var ipAddress = "192.168.1.30";
var port = 9100;
string zplImageData = string.Empty;
//Make sure no transparency exists. I had some trouble with this. This PNG has a white background
string filePath = @"C:\Users\Path\To\Logo.png";
byte[] binaryData = System.IO.File.ReadAllBytes(filePath);
foreach (Byte b in binaryData)
{
string hexRep = String.Format("{0:X}", b);
if (hexRep.Length == 1)
hexRep = "0" + hexRep;
zplImageData += hexRep;
}
string zplToSend = "^XA" + "^MNN" + "^LL500" + "~DYE:LOGO,P,P," + binaryData.Length + ",," + zplImageData + "^XZ";
string printImage = "^XA^IME:LOGO.PNG^XZ";
try
{
// Open connection
System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
client.Connect(ipAddress, port);
// Write ZPL String to connection
System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream(), Encoding.UTF8);
writer.Write(zplToSend);
writer.Flush();
writer.Write(printImage);
writer.Flush();
// Close Connection
writer.Close();
client.Close();
}
catch (Exception ex)
{
// Catch Exception
}
也累
string zplToSend = "^XA" + "~DYR:LOGO,P,P," + binaryData.Length + ",," + zplImageData + "^XZ";
string printImage = "^XA^FO0,0^IMR:LOGO.PNG^FS^XZ";
并且:
string zplToSend = "^XA" + "~DYR:LOGO,P,P," + binaryData.Length + ",," + zplImageData + "^XZ";
string printImage = "^XA^ILR:LOGO.PNG^XZ";
None return 错误,不打印。
PrintImage
^XA
开始格式说明 ^XA 命令用于 ZPL II 代码的开头。它是左括号,表示新标签格式的开始。此命令替换为单个 ASCII 控制字符 STX(control-B,十六进制 02)。格式 ^XA 注释 有效的 ZPL II 格式要求标签格式应以 ^XA 命令开始并以 ^XZ 命令结束。
^FO
字段原点描述 ^FO 命令设置字段原点,相对于标签原点 (^LH) 位置。 ^FO 通过定义与旋转无关的沿 x 轴和 y 轴的点来设置字段区域的左上角。格式 ^FOx,y,z
- x = x 轴位置(以点为单位)接受的值:0 到 32000 默认值
值:0
- y = y 轴位置(以点为单位)接受的值:0 到 32000
默认值:0
- z = justification z参数只是
在固件版本 V60.14.x、V50.14.x 或更高版本中受支持。公认
值:0 = 左对齐 1 = 右对齐 2 = 自动
理由(取决于脚本)默认值:最后接受 ^FW
值或 ^FW 默认值
^IM
图像移动 描述 ^IM 命令将图像从存储区域直接移动到位图中。该命令与 ^XG 命令(调用图形)相同,只是没有尺寸参数。格式 ^IMd:o.x
- d = 存储对象的位置接受值:R:、E:、B: 和 A:默认值:搜索优先级
- o = 对象名称接受值:1 到 8 个字母数字字符默认值:如果未指定名称,则使用 UNKNOWN
- x = 扩展名固定值:.GRF、.PNG
^FS
字段分隔符说明 ^FS 命令表示字段定义的结尾。或者,^FS 命令也可以作为单个 ASCII 控制代码 SI(Control-O,十六进制 0F)发出。格式 ^FS
^XZ
结束格式说明 ^XZ 命令是结束(结束)括号。它指示标签格式的结束。收到此命令时,将打印标签。此命令也可以作为单个 ASCII 控制字符 ETX(Control-C,十六进制 03)发出。 Format ^XZ Comments 标签格式必须以 ^XA 命令开始并以 ^XZ 命令结束才能成为有效的 ZPL II 格式。
zplToSend
^MN
媒体跟踪 说明 此命令指定正在使用的媒体类型和以点为单位的黑标偏移量。此项目符号列表显示与此命令关联的媒体类型:
- 连续介质 – 这种介质没有物理特征(例如网状物、缺口、穿孔、黑标)来分隔标签。标签长度由 ^LL 命令决定。
- Continuous Media,可变长度 – 与 Continuous Media 相同,但如果打印标签的部分超出定义的标签长度,标签尺寸将自动扩展以包含它们。此标签长度扩展仅适用于当前标签。请注意,^MNV 仍然需要使用 ^LL 命令来定义初始所需的标签长度。
- 非连续介质 – 这种介质具有某种类型的物理特性(例如网状、凹口、穿孔、黑标)来分隔标签。
格式 ^MNa,b
- a =(必需)正在使用的媒体。可接受的值:
- N = 连续介质
- Y = 非连续介质网络感应
- W = 非连续介质网络感应
- M = 非连续介质标记检测
- A = 在校准期间自动检测介质类型
- V = 连续介质,可变长度
- b = 黑色标记偏移量(以点为单位) 这设置了介质标记相对于文档分隔点的预期位置。如果设置为 0,则应在分离点找到介质标记。 (即穿孔、切割点等)所有值都以点列出。除非 a 参数设置为 M,否则忽略此参数。如果缺少此参数,则使用默认值。可接受的值: -80 到 283 对于热敏打印机 -240 到 566 对于 600 dpi 打印机 -75 到 283 对于 KR403 打印机 -120 到 283 对于所有其他打印机默认值:0
~DY
下载对象 描述 ~DY 命令以任何支持的格式下载到打印机图形对象或字体。可以使用此命令代替 ~DG 以获得更多保存和加载选项。 ~DY 是在固件高于 X.13 的打印机上下载 TrueType 字体的首选命令。它比 ~DU 快。 ~DY 命令还支持下载无线证书文件。格式 ~DYd:f,b,x,t,w,data
备注
使用证书文件时,您的打印机支持:
使用隐私增强邮件 (PEM) 格式的证书文件。
使用客户端证书和私钥作为两个文件,分别下载。
为 EAP-FAST 使用可导出的 PAC 文件。
Zebra 建议使用线性麦粒肿
d = 文件位置 .NRD 和 .PAC 文件驻留在 E: 固件版本 V60.15.x、V50.15.x 或更高版本中。接受值:R:、E:、B: 和 A:默认值:R:
f = 文件名接受值:1 到 8 个字母数字字符默认值:如果未指定名称,则使用 UNKNOWN
b = 数据字段中下载的格式 .TTE 和 .TTF 仅在固件版本 V60.14.x、V50.14.x 或更高版本中受支持。可接受的值: A = 未压缩(ZB64、ASCII) B = 未压缩(.TTE、.TTF、二进制) C = AR 压缩(仅由 Zebra 的 BAR-ONE® v5 使用) P = 便携式网络图形 (.PNG) - ZB64编码默认值:必须指定一个值
我从另一个问题(最高分答案)中复制了这个。当 运行 它时,我没有收到任何错误,但它也没有打印任何东西。
我的 PNG - 删除了个人内容
我的问题是,他们使用的代码是什么?
zplToSend
- "^XA" - 开始
- "^MNN" - 看不到这是什么
- "^LL500" - 我的图像被 gaps/spaces 等分隔,所以我需要这个吗?
- "~DYE:LOGO,P,P," - 似乎用于将其存储到永久闪存中,不确定我是否热衷于此。我想马上打印,为什么要永久打印
- binaryData.Length - 为什么这是 binaryData.Length 而不是 zplImageData.Length
- zplImageData
- “^XZ”- 结束
打印图片
- "^XA" - 开始
- ^IME:LOGO.PNG - 这是对 ~DYE:Logo 的引用吗?
^XZ" - 结束
var ipAddress = "192.168.1.30"; var port = 9100; string zplImageData = string.Empty; //Make sure no transparency exists. I had some trouble with this. This PNG has a white background string filePath = @"C:\Users\Path\To\Logo.png"; byte[] binaryData = System.IO.File.ReadAllBytes(filePath); foreach (Byte b in binaryData) { string hexRep = String.Format("{0:X}", b); if (hexRep.Length == 1) hexRep = "0" + hexRep; zplImageData += hexRep; } string zplToSend = "^XA" + "^MNN" + "^LL500" + "~DYE:LOGO,P,P," + binaryData.Length + ",," + zplImageData + "^XZ"; string printImage = "^XA^IME:LOGO.PNG^XZ"; try { // Open connection System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient(); client.Connect(ipAddress, port); // Write ZPL String to connection System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream(), Encoding.UTF8); writer.Write(zplToSend); writer.Flush(); writer.Write(printImage); writer.Flush(); // Close Connection writer.Close(); client.Close(); } catch (Exception ex) { // Catch Exception }
也累
string zplToSend = "^XA" + "~DYR:LOGO,P,P," + binaryData.Length + ",," + zplImageData + "^XZ";
string printImage = "^XA^FO0,0^IMR:LOGO.PNG^FS^XZ";
并且:
string zplToSend = "^XA" + "~DYR:LOGO,P,P," + binaryData.Length + ",," + zplImageData + "^XZ";
string printImage = "^XA^ILR:LOGO.PNG^XZ";
None return 错误,不打印。
PrintImage
^XA 开始格式说明 ^XA 命令用于 ZPL II 代码的开头。它是左括号,表示新标签格式的开始。此命令替换为单个 ASCII 控制字符 STX(control-B,十六进制 02)。格式 ^XA 注释 有效的 ZPL II 格式要求标签格式应以 ^XA 命令开始并以 ^XZ 命令结束。
^FO 字段原点描述 ^FO 命令设置字段原点,相对于标签原点 (^LH) 位置。 ^FO 通过定义与旋转无关的沿 x 轴和 y 轴的点来设置字段区域的左上角。格式 ^FOx,y,z
- x = x 轴位置(以点为单位)接受的值:0 到 32000 默认值 值:0
- y = y 轴位置(以点为单位)接受的值:0 到 32000 默认值:0
- z = justification z参数只是 在固件版本 V60.14.x、V50.14.x 或更高版本中受支持。公认 值:0 = 左对齐 1 = 右对齐 2 = 自动 理由(取决于脚本)默认值:最后接受 ^FW 值或 ^FW 默认值
^IM 图像移动 描述 ^IM 命令将图像从存储区域直接移动到位图中。该命令与 ^XG 命令(调用图形)相同,只是没有尺寸参数。格式 ^IMd:o.x
- d = 存储对象的位置接受值:R:、E:、B: 和 A:默认值:搜索优先级
- o = 对象名称接受值:1 到 8 个字母数字字符默认值:如果未指定名称,则使用 UNKNOWN
- x = 扩展名固定值:.GRF、.PNG
^FS 字段分隔符说明 ^FS 命令表示字段定义的结尾。或者,^FS 命令也可以作为单个 ASCII 控制代码 SI(Control-O,十六进制 0F)发出。格式 ^FS
^XZ 结束格式说明 ^XZ 命令是结束(结束)括号。它指示标签格式的结束。收到此命令时,将打印标签。此命令也可以作为单个 ASCII 控制字符 ETX(Control-C,十六进制 03)发出。 Format ^XZ Comments 标签格式必须以 ^XA 命令开始并以 ^XZ 命令结束才能成为有效的 ZPL II 格式。
zplToSend
^MN 媒体跟踪 说明 此命令指定正在使用的媒体类型和以点为单位的黑标偏移量。此项目符号列表显示与此命令关联的媒体类型:
- 连续介质 – 这种介质没有物理特征(例如网状物、缺口、穿孔、黑标)来分隔标签。标签长度由 ^LL 命令决定。
- Continuous Media,可变长度 – 与 Continuous Media 相同,但如果打印标签的部分超出定义的标签长度,标签尺寸将自动扩展以包含它们。此标签长度扩展仅适用于当前标签。请注意,^MNV 仍然需要使用 ^LL 命令来定义初始所需的标签长度。
- 非连续介质 – 这种介质具有某种类型的物理特性(例如网状、凹口、穿孔、黑标)来分隔标签。
格式 ^MNa,b
- a =(必需)正在使用的媒体。可接受的值:
- N = 连续介质
- Y = 非连续介质网络感应
- W = 非连续介质网络感应
- M = 非连续介质标记检测
- A = 在校准期间自动检测介质类型
- V = 连续介质,可变长度
- b = 黑色标记偏移量(以点为单位) 这设置了介质标记相对于文档分隔点的预期位置。如果设置为 0,则应在分离点找到介质标记。 (即穿孔、切割点等)所有值都以点列出。除非 a 参数设置为 M,否则忽略此参数。如果缺少此参数,则使用默认值。可接受的值: -80 到 283 对于热敏打印机 -240 到 566 对于 600 dpi 打印机 -75 到 283 对于 KR403 打印机 -120 到 283 对于所有其他打印机默认值:0
~DY 下载对象 描述 ~DY 命令以任何支持的格式下载到打印机图形对象或字体。可以使用此命令代替 ~DG 以获得更多保存和加载选项。 ~DY 是在固件高于 X.13 的打印机上下载 TrueType 字体的首选命令。它比 ~DU 快。 ~DY 命令还支持下载无线证书文件。格式 ~DYd:f,b,x,t,w,data
备注 使用证书文件时,您的打印机支持:
使用隐私增强邮件 (PEM) 格式的证书文件。
使用客户端证书和私钥作为两个文件,分别下载。
为 EAP-FAST 使用可导出的 PAC 文件。
Zebra 建议使用线性麦粒肿
d = 文件位置 .NRD 和 .PAC 文件驻留在 E: 固件版本 V60.15.x、V50.15.x 或更高版本中。接受值:R:、E:、B: 和 A:默认值:R:
f = 文件名接受值:1 到 8 个字母数字字符默认值:如果未指定名称,则使用 UNKNOWN
b = 数据字段中下载的格式 .TTE 和 .TTF 仅在固件版本 V60.14.x、V50.14.x 或更高版本中受支持。可接受的值: A = 未压缩(ZB64、ASCII) B = 未压缩(.TTE、.TTF、二进制) C = AR 压缩(仅由 Zebra 的 BAR-ONE® v5 使用) P = 便携式网络图形 (.PNG) - ZB64编码默认值:必须指定一个值