网站首页 | 中文 | English

14标签打印服务(独立后台程序)

标签打印服务是一个独立运行的后台程序,它不依赖设计器主程序。你可以把它想象成一个"打印服务器"——它 7×24 小时在后台运行,等待接收打印任务。

📝 什么情况下需要它?
- 你需要批量自动打印,不想人工操作
- 其他软件(如 ERP、MES)需要通过网络发来打印指令
- 打印任务需要有队列管理(排队、重试、限速)
- 需要远程监控打印状态

14.1 启动与关闭

操作方法
启动服务双击运行 阿标标签打印服务.exe。启动后没有窗口弹出,只在任务栏右下角(系统托盘)出现一个打印机图标。
确认服务已运行在系统托盘中找到打印机图标,如果没有就去托盘展开区找。
退出服务右键点击托盘图标 → 选择「退出」。
开机自启动右键托盘图标 → 「设置」→ 勾选「开机启动」。以后电脑开机,服务会自动运行。
💡 找不到托盘图标?点击任务栏右下角的 ^ 箭头(显示隐藏的图标),一般就能看到。你也可以把图标拖到任务栏主区域。

14.2 三条接收通道

打印服务同时提供 3 种方式来接收打印任务:

① TCP 通道(端口 8888)

这是最直接的方式。任何程序或设备,只要通过 TCP 协议连接到这台电脑的 8888 端口,发送 ZPL 指令,服务就会打印。

适用场景:

② HTTP REST API(端口 5000)

这是最常用的方式。通过标准的 HTTP 请求来发送打印任务,任何支持 HTTP 的编程语言(C#、Java、Python、PHP 等)都可以调用。

管理后台:打开浏览器,访问 http://localhost:5000,可以看到服务状态页面。

可用 API 接口:

方法接口地址作用
GEThttp://localhost:5000/打开服务状态网页,可以看到服务是否运行、队列情况等
POSThttp://localhost:5000/print最重要的接口!发送 ZPL 指令打印标签
GEThttp://localhost:5000/queue查看当前打印队列中有哪些任务
DELETEhttp://localhost:5000/queue/任务ID取消某个等待打印的任务
GEThttp://localhost:5000/history查看打印历史记录
DELETEhttp://localhost:5000/history清空所有历史记录
POSThttp://localhost:5000/shutdown远程关闭打印服务

如何用 Python 调用 HTTP 接口打印:

import requests, json

zpl_data = "^XA^FO50,50^ADN,36,20^FDHello World^FS^XZ"
task = {
    "zpl": zpl_data,
    "copies": 2,
    "printer": "ZDesigner ZD421",
    "priority": 0
}

resp = requests.post("http://localhost:5000/print", json=task)
print(resp.json())  # {"success": true, "taskId": "..."}

如何用 curl 命令测试:

curl -X POST http://localhost:5000/print ^
  -H "Content-Type: application/json" ^
  -d "{\"zpl\":\"^XA^FO50,50^ADN,36,20^FDHello^FS^XZ\",\"copies\":1}"

③ 目录监控

服务会监视一个指定的文件夹。只要有人把 .zpl.iba 文件放到这个文件夹里,服务就会自动把文件内容作为打印任务入队。

14.3 打印队列管理

当有多个打印任务同时进来时,服务会按顺序排队处理:

14.4 设置管理

右键点击系统托盘的打印机图标 → 「设置」,进入设置界面:

设置项默认值说明
TCP 端口8888TCP 监听端口。如果端口被占用可以改
HTTP 端口5000HTTP API 端口。如果跟其他程序冲突可以改
监控目录(空)要监视的文件夹路径,填写完整的路径如 D:\PrintJobs\
默认打印机(系统默认)未指定打印机时的默认打印设备
打印重试次数3任务失败后重试几次(0=不重试)
重试间隔5 秒每次重试之间等多久
限流间隔200 毫秒两个任务之间至少间隔多少毫秒
开机启动关闭是否随 Windows 自动启动
队列存储路径(默认)队列持久化文件存放在哪里

14.5 条件规则(进阶功能)

条件规则可以对打印任务进行智能处理——根据任务的内容,决定怎么做。

规则示例:

规则由两部分组成:

规则按配置的顺序从上到下依次判断,匹配了第一条就停止。

14.6 系统托盘操作

在任务栏右下角找到打印机图标:

14.7 COM 组件支持(旧系统兼容)

如果你的公司还在用 VB6、VBA(Excel 宏)等旧技术,也可以通过 COM 组件调用打印服务:

Dim service As Object
Set service = CreateObject("PrintServiceComServer")
service.PrintZPL "^XA...^XZ", "ZDesigner ZD421", 1

快捷键 目录 结束 ›