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 arquivo está sendo baixado.
Gratuito, sem limite diário. Uma conta gratuita também salva seus designs e fornece uma chave 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);
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.