zplCloud Blog
Weblink, CLI Proxy o CloudToBrowserPrint: cómo elegir
Tres transportes, tres trabajos distintos. Todos solo salientes: la diferencia está en quién mantiene la conexión y qué puede convertir.
Mismo principio, mecánicas distintas
Hay tres formas de llevar una etiqueta de zplCloud a una impresora física. Se confunden habitualmente, y elegir la equivocada cuesta un día de depuración.
Las tres comparten una propiedad: la conexión se establece siempre desde dentro de tu red hacia afuera. Sin puerto de entrada, sin port forwarding, sin VPN, sin impresora expuesta a internet. Lo que difiere es qué componente mantiene esa conexión, y qué puede hacer con un trabajo de impresión antes de que llegue a la impresora.
Cloud Connect / Weblink - la impresora llama hacia afuera
Weblink es el mecanismo propio de Zebra, aprovisionado a través de zplCloud. Un componente relay en tu red mantiene un WebSocket saliente con la plataforma; la impresora se autentica con mTLS usando tres archivos de certificado que se empujan a su 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
El script descarga los certificados de la impresora, los sube por TCP 9100 (~DY), establece las variables SGD para la URL de Weblink y NTP, y reinicia la impresora. Añade &ip=10.0.0.5 cuando el hostname no se resuelva en tu red - el hostname sigue seleccionando el certificado, la IP es solo el objetivo TCP.
Úsalo cuando: la impresora es un dispositivo de producción permanente que debe ser alcanzable desde cualquier parte de la plataforma - diseñador, Print Views, trabajos por lotes, webhooks, la API. Es la opción por defecto para una impresora Link-OS que se queda en un sitio.
Requiere: una impresora Link-OS. Una GK420 u otro dispositivo pre-Link-OS no puede hacer Weblink en absoluto.
zplCloud Proxy - un agente que ejecutas tú
El proxy es parte de la CLI de zplCloud. Se ejecuta en cualquier máquina de la LAN - Windows, macOS, Linux, Raspberry Pi, o como contenedor - y registra impresoras en tu workspace sobre una única conexión SignalR saliente.
curl -fsSL https://zplcloud.com/install-cli.sh | sh
zplcloud proxy --agent "Warehouse Berlin" --service-install --api-key sk_zplcloud_XXXX
Alcanza impresoras por TCP 9100 o USB, que es la diferencia decisiva: una impresora de escritorio solo-USB no tiene pila de red con la que llamar hacia afuera, así que el agente es la única forma de ponerla en la nube. El agente también aplica perfiles de impresora (oscuridad, velocidad, medio, variables SGD), envía ZPL bruto, vigila carpetas en busca de archivos .zpl/.prn, y puede llevar conexiones SQL Server, MongoDB y Kafka para el data hub.
--service-install escribe una unidad systemd en Linux y la Pi (zplcloud-agent.service, Restart=always), un trabajo launchd en macOS, o una tarea programada en Windows.
Úsalo cuando: gestionas una flota, tienes impresoras USB o antiguas, necesitas perfiles consistentes entre centros, o quieres que el mismo agente lleve tus fuentes de datos.
CloudToBrowserPrint - un servicio local para páginas web
CloudToBrowserPrint es un servicio HTTP local en la máquina del operador:
http://127.0.0.1:9100 (https://127.0.0.1:9101 - necesario para Safari y cualquier página https)
Una página web en la LAN habla con él directamente, incluso a través de un hub SignalR en /hubs/print. Descubre impresoras (impresoras de red de printers.json, USB, Bluetooth), convierte formatos, decodifica códigos de barras y envía trabajos en bruto. La nube no está en el camino - una página puede imprimir sin ninguna ida y vuelta a zplCloud.
irm https://zplcloud.com/install-cloudtobrowserprint-pshell | iex
Como el servicio se vincula a un puerto conocido, comprueba si hay conflicto antes de desplegarlo - el 9100 es un puerto popular para otro software, y el servicio te dirá si está ocupado.
Úsalo cuando: tu propia aplicación web necesita imprimir en la impresora que esté junto al usuario, o quieres impresión dirigida por navegador sin dependencia de la nube para la propia ruta de impresión.
Comparativa
| Weblink | CLI Proxy | CloudToBrowserPrint | |
|---|---|---|---|
| Dónde se ejecuta | relay en tu LAN + certificados en la impresora | agente en una máquina LAN / contenedor | servicio local en la máquina del usuario |
| Alcanza la impresora vía | Zebra Weblink (mTLS) | TCP 9100, USB | TCP 9100, USB, Bluetooth |
| Nube necesaria para imprimir | sí | sí | no |
| Funciona con impresoras no-Link-OS | no | sí | sí |
| Formatos | ZPL desde la plataforma | ZPL bruto | ZPL, PDF, Office, imágenes, códigos de barras |
| Extras | despliegue de certificados, gestión remota | perfiles, watch folders, data hub | descubrimiento, conversión, decodificación de códigos |
| Uso típico | impresoras de producción fijas | flotas gestionadas, USB, centros remotos | apps web, impresión de escritorio ad-hoc |
Cómo elegir
- Impresora Link-OS fija que imprime desde la plataforma → Weblink.
- Impresora USB, antigua, o una flota que gestionas → CLI proxy. (Una impresora de escritorio antigua solo-USB más una Raspberry Pi es una configuración completa; hay un post aparte sobre eso.)
- Tu propia app web imprimiendo en la impresora junto al usuario → CloudToBrowserPrint.
- Un sitio real normalmente ejecuta dos: Weblink en las impresoras de producción, el agente para la flota y las fuentes de datos.