pegar pegan mercadoenvios las imprimir etiquetas etiqueta como printing zebra-printers fedex

printing - pegan - como pegar la etiqueta de mercadoenvios



EnvĂ­o de datos brutos a la impresora de etiquetas FedEx (6)

Estoy trabajando en una aplicación .NET WinForms que necesita para imprimir una etiqueta de envío de FEDEX. Como parte de la API de FedEx, puedo obtener datos de etiquetas sin formato para la impresora.

Simplemente no sé cómo enviar esos datos a la impresora a través de .NET (estoy usando C #). Para que quede claro, los datos ya están pre formateados en ZPL (lenguaje de impresora Zebra). Solo necesito enviarlo a la impresora sin que las ventanas lo estropeen.



Creo que solo desea enviar el ZPL (trabajo a continuación) directamente a su impresora.

private void SendPrintJob(string job) { TcpClient client = null; NetworkStream ns = null; byte[] bytes; int bytesRead; IPEndPoint remoteIP; Socket sock = null; try { remoteIP = new IPEndPoint( IPAddress.Parse(hostName), portNum ); sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.Connect(remoteIP); ns = new NetworkStream(sock); if (ns.DataAvailable) { bytes = new byte[client.ReceiveBufferSize]; bytesRead = ns.Read(bytes, 0, bytes.Length); } byte[] toSend = Encoding.ASCII.GetBytes(job); ns.Write(toSend, 0, toSend.Length); if (ns.DataAvailable) { bytes = new byte[client.ReceiveBufferSize]; bytesRead = ns.Read(bytes, 0, bytes.Length); } } finally { if( ns != null ) ns.Close(); if( sock != null && sock.Connected ) sock.Close(); if (client != null) client.Close(); } }




Las impresoras Zebra no usan una cola de impresión, no es impresión en bruto. Es un marcado llamado ZPL. Está basado en texto, no binario.


He estado trabajando con una impresora y ZPL desde hace un tiempo, pero con una aplicación de Ruby. Enviar el ZPL a la impresora a través del socket funciona bien.

Para verificar que funcione, con frecuencia hago telnet a la impresora y ^XA^PH^XZ para alimentar una sola etiqueta. Espero que ayude.