zplCloud Blog
Weblink, CLI Proxy ou CloudToBrowserPrint: como escolher
Três transportes, três tarefas diferentes. Todos só de saída: a diferença é quem mantém a conexão e o que ele consegue converter.
Mesmo princípio, mecânicas diferentes
Há três maneiras de levar uma etiqueta do zplCloud para uma impressora física. Elas são rotineiramente confundidas, e escolher a errada custa um dia de depuração.
Todas as três compartilham uma propriedade: a conexão é sempre estabelecida de dentro da sua rede para fora. Sem porta de entrada, sem port forwarding, sem VPN, sem impressora exposta à internet. O que difere é qual componente mantém essa conexão, e o que ele pode fazer com um trabalho de impressão antes que ele chegue à impressora.
Cloud Connect / Weblink - a impressora liga para fora
Weblink é o mecanismo da Zebra, provisionado via zplCloud. Um componente relay na sua rede mantém um WebSocket de saída para a plataforma; a impressora autentica com mTLS usando três arquivos de certificado empurrados para sua flash (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
O script baixa os certificados da impressora, os carrega via TCP 9100 (~DY), define as variáveis SGD para a URL Weblink e NTP e reinicia a impressora. Adicione &ip=10.0.0.5 quando o hostname não resolver na sua rede - o hostname ainda seleciona o certificado, o IP é só o alvo TCP.
Use quando: a impressora é um dispositivo de produção permanente que deve ser alcançável de qualquer lugar da plataforma - designer, Print Views, trabalhos em lote, webhooks, a API. Este é o padrão para uma impressora Link-OS que fica em um lugar.
Requer: uma impressora Link-OS. Uma GK420 ou outro dispositivo pré-Link-OS não consegue fazer Weblink de jeito nenhum.
zplCloud Proxy - um agente que você executa
O proxy faz parte da CLI zplCloud. Roda em qualquer máquina da LAN - Windows, macOS, Linux, Raspberry Pi, ou como contêiner - e registra impressoras no seu workspace por uma conexão SignalR de saída.
curl -fsSL https://zplcloud.com/install-cli.sh | sh
zplcloud proxy --agent "Warehouse Berlin" --service-install --api-key sk_zplcloud_XXXX
Ele alcança impressoras via TCP 9100 ou USB, que é a diferença decisiva: uma impressora de mesa só-USB não tem pilha de rede para ligar para fora, então o agente é o único jeito de colocá-la no cloud. O agente também aplica perfis de impressora (escuridão, velocidade, mídia, variáveis SGD), envia ZPL bruto, vigia pastas por arquivos .zpl/.prn, e pode carregar conexões SQL Server, MongoDB e Kafka para o data hub.
--service-install escreve uma unit systemd no Linux e na Pi (zplcloud-agent.service, Restart=always), um job launchd no macOS, ou uma tarefa agendada no Windows.
Use quando: você gerencia uma frota, tem impressoras USB ou antigas, precisa de perfis consistentes entre unidades, ou quer que o mesmo agente carregue suas fontes de dados.
CloudToBrowserPrint - um serviço local para páginas web
CloudToBrowserPrint é um serviço HTTP local na máquina do operador:
http://127.0.0.1:9100 (https://127.0.0.1:9101 - necessário para Safari e qualquer página https)
Uma página web da LAN fala com ele diretamente, inclusive via um hub SignalR em /hubs/print. Ele descobre impressoras (impressoras de rede de printers.json, USB, Bluetooth), converte formatos, decodifica códigos de barras e envia trabalhos brutos. O cloud não está no caminho - uma página pode imprimir sem nenhuma ida e volta ao zplCloud.
irm https://zplcloud.com/install-cloudtobrowserprint-pshell | iex
Como o serviço vincula a uma porta conhecida, verifique um conflito antes de distribuí-lo - 9100 é uma porta popular para outros softwares, e o serviço dirá se está ocupada.
Use quando: seu próprio aplicativo web precisa imprimir na impressora ao lado do usuário, ou você quer impressão dirigida por navegador sem dependência do cloud para o caminho de impressão em si.
Lado a lado
| Weblink | CLI Proxy | CloudToBrowserPrint | |
|---|---|---|---|
| Roda onde | relay na sua LAN + certificados na impressora | agente numa máquina LAN / contêiner | serviço local na máquina do usuário |
| Alcança a impressora via | Zebra Weblink (mTLS) | TCP 9100, USB | TCP 9100, USB, Bluetooth |
| Cloud necessário para imprimir | sim | sim | não |
| Funciona com impressoras não-Link-OS | não | sim | sim |
| Formatos | ZPL da plataforma | ZPL bruto | ZPL, PDF, Office, imagens, códigos de barras |
| Extras | implantação de certificados, gerenciamento remoto | perfis, watch folders, data hub | descoberta, conversão, decodificação de códigos |
| Uso típico | impressoras de produção fixas | frotas gerenciadas, USB, unidades remotas | apps web, impressão desktop ad-hoc |
Escolhendo
- Impressora Link-OS que fica parada e imprime da plataforma → Weblink.
- Impressora USB, antiga, ou uma frota que você gerencia → CLI proxy. (Uma impressora de mesa antiga só-USB mais uma Raspberry Pi é uma configuração completa; há um post separado sobre isso.)
- Seu próprio app web imprimindo na impressora ao lado do usuário → CloudToBrowserPrint.
- Um site real normalmente roda dois deles: Weblink nas impressoras de produção, o agente para a frota e as fontes de dados.