Enviar ZPL a una impresora desde el código
Para enviar ZPL a una impresora de red, abre una conexión TCP al puerto 9100 y escribe el texto; la impresora imprime lo que recibe. Aquí está en Python, C#, Node.js, Java y PHP.
Tu archivo se está descargando.
Gratis, sin límite diario. Una cuenta gratuita también guarda sus diseños y le proporciona una clave de API.
Python
import socket
with socket.create_connection(("192.168.1.50", 9100), timeout=5) as s:
s.sendall(zpl.encode("utf-8"))
C#
using var client = new TcpClient("192.168.1.50", 9100);
var bytes = Encoding.UTF8.GetBytes(zpl);
client.GetStream().Write(bytes, 0, bytes.Length);
Node.js
const net = require("net");
const s = net.connect(9100, "192.168.1.50", () => s.end(zpl));
Java
try (Socket s = new Socket("192.168.1.50", 9100)) {
s.getOutputStream().write(zpl.getBytes(StandardCharsets.UTF_8));
}
PHP
$s = fsockopen("192.168.1.50", 9100, $e, $m, 5);
fwrite($s, $zpl);
fclose($s);
Verifícalo primero
Renderice la etiqueta con la API en sus pruebas, para que una plantilla mala falle allí y no en la línea. Para texto acentuado, añada ^CI28 y envíe UTF-8.
Preguntas
¿Qué pasa con las impresoras USB?
En Windows, comparte la impresora y copia el archivo en ella, o envía bytes sin procesar a través del spooler. Consulta [Imprimir un archivo ZPL](/print-zpl/).
¿Por qué no se imprime nada?
Verifica la dirección y que el puerto 9100 esté abierto, y que los datos comiencen con ^XA y terminen con ^XZ.
Relacionado
¿Necesita algo que aún no tenemos?
Un conector para tu sistema, un formato de etiqueta o una nueva herramienta: cuéntanos lo que usas y evaluaremos construirlo.