斑马打印机 JSON 使用手册
目录
概述
环境准备
JSON 格式
示例
常见问题
概述
JSON 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。它传输由元素组成的数据对象,这些元素作为属性-值对。您可以使用 JSON 作为在LinkOS打印机上读取或写入参数时使用 SGD(Set-Get-Do)机制的替代方法。JSON 是一种流行的开放标准,用于交换数据对象,非常适合此任务。
本手册介绍如何使用 JSON 格式与斑马打印机通信,控制打印机并发送打印任务。JSON 是一种轻量级的数据交换格式,易于人和机器读写。
2. 环境准备
在开始之前,请确保您已经具备以下条件:
已安装并配置好的斑马打印机
可通过网络或 USB 连接到打印机的计算机,网络连接打开9100,9200端口
打印机的双向通信工具,比如ZSU (Zebra Setup Utilities)
3. JSON 格式
斑马打印机通常使用 ZPL (Zebra Programming Language) 来定义打印任务。通过 JSON,我们可以封装 ZPL 指令并发送到打印机。
基本结构
{
"job": {
"format": "zpl",
"data": "^XA^FO50,50^ADN,36,20^FDHello, Zebra!^FS^XZ"
}
}
Copy
详细说明
job
: 包含打印任务的主要信息format
: 定义所使用的语言格式,这里是zpl
data
: 包含实际的 ZPL 指令
4. 示例
发送简单文本打印任务
{
"job": {
"format": "zpl",
"data": "^XA^FO50,50^ADN,36,20^FDHello, World!^FS^XZ"
}
}
Copy
打印条形码
{
"job": {
"format": "zpl",
"data": "^XA^FO100,100^BY2^BCN,100,Y,N,N^FD1234567890^FS^XZ"
}
}
Copy
打印图像
首先,将图像转换为 ZPL 格式的指令,然后通过 JSON 发送:
{
"job": {
"format": "zpl",
"data": "^XA^LS0^FO211,156^GFA,977,2940,20,:Z64:eJzVlj2S1DAQhaVRYDLBCZxzCc+RCAmosigusvFcAnMTb20AGd7MFF6L/lFLalkXQLXBzpvnp2+627KNoeWezGXZ/aq5s+OLHV9cOr5VCyv6Nu3Z0Kc1t6NPw/gDfYfSphN9WptjxxcD+PQPGYHXNpoH3tY3AFvrQ7bWh3va2BQGPI3vjoBN3oqAjW9DQO2D7gCg9tkDAfXvdbjprusy4KaHVTX1UJV4ukZbAFD3A6syxW+ql9jFMf5QPcckH18gta4AAr7qsswI+Fe3d0LAt6XRADDqXjKg1gYC1LVnQKUFBow1dEBArdkFAVErRbC4QattCOgVILVoQa00yWEFgj8fj0fxYQUWGOl7TQx/4MObpGjBku9TrcFcoO9zra2oHeaLqgD7qnmBAeC8uaoLzgX65lC0+Uy+qlY4F+iLv95lbYxf2fe7VBDngvJ+lmoN8Zn45pda+8N5z6WCFjTKW2vtjfPWubQTZoB9k9Iobx1rmOTzSuO8oYZhvjWn3VjDvFuuKVQ15bmsQYtSnpMKusVkn2zrVgDkPCe7OJwh9g2CAoffKHlyjzgcUuZzUhe4zQfJkxbTDKV9Y9aClbyiAeDFB4Apr2gAmPiKBoBNHh5APkjeh/ckwj0w5LzpSC2C2ohvZA3uIpvzUjuxg8XHGp5DS87jdlIHhW/kI4pOtJK3CaApebsAmpKXASvfKYBVXgEUDedJAKFNH59uj8f3WAA9fx3lmOFzaFGapYNyZQQ5jujxsSsfPz528YUMyPxFQ8D5FM3kCk70fTkuBzooA10hGgMm7Swt5hnw5cQjwMCazCoBBkrJtxcBBkrJjxECTFcEUwHShzGfWgTI/95FI0C5yFSAplkI2PgIsNUQsNXGzhuNb99oEmC72rcXAbys2Hm9mjuvV5N+rP4vgFef7/iGjuY6Wu+903R86lEma+poYyevnStcl7ky5jpXsGzHV8/VP3HcrcM=:4B7B^PQ1,0,1,Y^XZ"
}
}
设置打印机参数(SGD 指令)
暂停打印机
{}{"device.pause":" "}
恢复打印机
{}{"device.unpause":" "}
获取打印机信息
{}{"device.friendly_name":null,"device.company_name":null}
打印机会返回打印机信息
获取打印机状态
{}{"device.status":null}
获取打印机的当前状态。
设置打印机参数(Set 指令)
{}{"device.location":"MyOffice"}}
此示例执行设置打位置信息:Myoffice
获取打印机所有配置
下面指令,将返回打印机的所有配置:
{}{"allconfig":null}
5. 常见问题
1. 打印机不响应 JSON 请求
确认打印机是否正确连接并开启
检查 JSON 结构是否符合打印机 API 要求
确保使用的 ZPL 或 SGD 指令正确无误
2. 打印内容不正确
确认 ZPL 指令格式是否正确
检查打印机配置,如标签尺寸、字体设置等
3. 网络连接问题
JSON 的主要设置通道是 TCP 端口 9200,但也可以使用其他端口。收到 JSON 命令后进行处理。最多允许 8 个连接,并且所有连接的端口都处于活动状态,并且 JSON 命令将在打印机打印时工作。
可以 ip.port_json_config 更改或禁用用于 JSON 的端口。
注意:JSON 在所有通信端口上都可用,除非启用了 line_print,在这种情况下,您必须使用主 TCP JSON 端口 9200。如果您连接到端口 9200,打印机只接受 JSON 命令,不支持 CPCL、SGD、ZPL 和其他命令语言
结语
通过 JSON 与斑马打印机通信能够简化打印任务的管理和执行。请根据打印机的具体型号和功能进行调整和配置,如有进一步问题,请参考斑马打印机的官方文档或联系技术支持。
希望这份手册对你有所帮助!