zplCloud Blog
Weblink、CLI Proxy 还是 CloudToBrowserPrint:如何选择
三种传输方式,三种不同用途。全部仅出站连接——区别在于由谁持有连接,以及它能转换什么。
相同的原则,不同的机制
有三种方法把标签从 zplCloud 送到实体打印机。它们常被混淆,选错会浪费一天调试时间。
三者共享一个属性:连接总是从你网络内部向外建立。没有入站端口、没有端口转发、没有 VPN、没有暴露到互联网的打印机。区别在于哪个组件持有该连接,以及它在作业到达打印机前能对打印作业做什么。
Cloud Connect / Weblink - 打印机主动外呼
Weblink 是 Zebra 自己的机制,通过 zplCloud 配置。你网络中的一个 relay 组件保持到平台的出站 WebSocket;打印机用推入其 flash 的三个证书文件以 mTLS 认证(WEBLINK2_CA.NRD、WEBLINK2_CERT.NRD、WEBLINK2_KEY.NRD)。
irm "https://zplcloud.com/weblink-deploy.ps1?hostname=printer01&apikey=sk_zplcloud_XXXX" | iex
curl -fsSL "https://zplcloud.com/weblink-deploy.sh?hostname=printer01&apikey=sk_zplcloud_XXXX" | bash
脚本下载打印机的证书,通过 TCP 9100(~DY)上传,设置 Weblink URL 和 NTP 的 SGD 变量并重置打印机。当 hostname 在你的网络无法解析时加 &ip=10.0.0.5——hostname 仍用于选择证书,IP 只是 TCP 目标。
何时使用: 打印机是必须从平台各处——设计器、Print Views、批处理作业、webhooks、API——都能触达的永久生产设备。这是固定位置 Link-OS 打印机的默认。
要求: Link-OS 打印机。GK420 或其他 pre-Link-OS 设备根本无法做 Weblink。
zplCloud Proxy - 你运行的一个 agent
proxy 是 zplCloud CLI 的一部分。它运行在 LAN 中任何机器上——Windows、macOS、Linux、Raspberry Pi 或容器——并通过一条出站 SignalR 连接把打印机注册进你的 workspace。
curl -fsSL https://zplcloud.com/install-cli.sh | sh
zplcloud proxy --agent "Warehouse Berlin" --service-install --api-key sk_zplcloud_XXXX
它通过 TCP 9100 或 USB 触达打印机,这是决定性区别:仅 USB 的桌面打印机没有可外呼的网络栈,所以 agent 是把它放进云端的唯一方式。agent 还应用打印机配置文件(浓度、速度、介质、SGD 变量)、发送原始 ZPL、监视文件夹中的 .zpl/.prn 文件,并可携带 SQL Server、MongoDB 和 Kafka 连接供 data hub 使用。
--service-install 在 Linux 和 Pi 上写入 systemd 单元(zplcloud-agent.service,Restart=always)、在 macOS 上写入 launchd 作业、或在 Windows 上写入计划任务。
何时使用: 你管理一支车队、有 USB 或较老打印机、需要各站点一致的配置,或希望同一 agent 携带你的数据源。
CloudToBrowserPrint - 面向网页的本地服务
CloudToBrowserPrint 是操作员机器上的本地 HTTP 服务:
http://127.0.0.1:9100 (https://127.0.0.1:9101 - Safari 和任何 https 页面需要)
LAN 中的网页直接与它对话,包括 /hubs/print 的 SignalR hub。它发现打印机(来自 printers.json 的网络打印机、USB、蓝牙)、转换格式、解码条码并发送原始作业。云端不在路径上——页面打印无需任何 zplCloud 往返。
irm https://zplcloud.com/install-cloudtobrowserprint-pshell | iex
由于服务绑定已知端口,部署前检查冲突——9100 是其他软件常用端口,服务会告诉你是否被占用。
何时使用: 你自己的 Web 应用需要打印到用户身旁的打印机,或你想要无云端依赖、由浏览器驱动的打印路径。
并排对比
| Weblink | CLI Proxy | CloudToBrowserPrint | |
|---|---|---|---|
| 运行于 | LAN 中的 relay + 打印机上的证书 | LAN 机器 / 容器上的 agent | 用户机器上的本地服务 |
| 经以下触达打印机 | Zebra Weblink (mTLS) | TCP 9100、USB | TCP 9100、USB、蓝牙 |
| 打印是否需要云 | 是 | 是 | 否 |
| 是否兼容非 Link-OS 打印机 | 否 | 是 | 是 |
| 格式 | 来自平台的 ZPL | 原始 ZPL | ZPL、PDF、Office、图像、条码 |
| 额外功能 | 证书部署、远程管理 | 配置、watch folders、data hub | 发现、转换、条码解码 |
| 典型用途 | 固定生产打印机 | 受管车队、USB、远程站点 | Web 应用、临时桌面打印 |
选择
- 固定不动的 Link-OS 打印机、从平台打印 → Weblink。
- USB 打印机、老打印机或你管理的车队 → CLI proxy。(老款仅 USB 桌面打印机加一台 Raspberry Pi 就是完整方案;另有一篇帖子专门讲它。)
- 你自己的 Web app 打印到用户身旁的打印机 → CloudToBrowserPrint。
- 真正的站点通常跑其中两种:生产打印机用 Weblink,车队和数据源用 agent。