Saltar al contenido

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 etiqueta

Vista previa

100%

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.

Solicitar una herramienta o integración
Comentarios