Pular para o conteúdo

Envie ZPL para uma impressora a partir do código

Para enviar ZPL a uma impressora de rede, abra uma conexão TCP na porta 9100 e escreva o texto; a impressora imprime o que recebe. Aqui está em Python, C#, Node.js, Java e PHP.

Seu rótulo

Prévia

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);

Verifique isso primeiro

Renderize o rótulo com a API em seus testes, para que um template ruim falhe lá e não na linha. Para texto acentuado, adicione ^CI28 e envie em UTF-8.

Perguntas

E as impressoras USB?

No Windows, compartilhe a impressora e copie o arquivo para ela, ou envie bytes brutos através do spooler. Veja [Imprimir um arquivo ZPL](/print-zpl/).

Por que nada imprime?

Verifique o endereço e se a porta 9100 está aberta, e que os dados começam com ^XA e terminam com ^XZ.

Relacionado

Precisa de algo que ainda não temos?

Um conector para seu sistema, um formato de etiqueta ou uma nova ferramenta: nos diga o que você usa e nós analisaremos a construção.

Solicite uma ferramenta ou integração
Feedback