JSON 控制使用斑马打印机

百科   2024-10-10 14:04   马来西亚  

斑马打印机 JSON 使用手册

目录

  1. 概述

  2. 环境准备

  3. JSON 格式

  4. 示例

  5. 常见问题

概述

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 与斑马打印机通信能够简化打印任务的管理和执行。请根据打印机的具体型号和功能进行调整和配置,如有进一步问题,请参考斑马打印机的官方文档或联系技术支持。


希望这份手册对你有所帮助!


智能识别新视界
条码帮,物联网,条码及RFID,应用案例分享。 我们不生产数据,我们只是数据的搬运工。 所有内容均来自于技术工程师经验分享,如需引用请注明出处。
 最新文章