Enviar Comandos Escape a Impresora Ticket por USB en Visual Basic [SOLUCIONADO]

Comunicación con la Impresora

Visual Basic ofrece capacidades integradas para interactuar con una impresora de tickets a través de su puerto USB. Los comandos de escape son comandos de control que dirigen la operación de la impresora y cambian sus configuraciones. En este artículo, exploraremos cómo enviar estos comandos a la impresora utilizando VB.

Código

El siguiente código ilustra cómo podríamos realizar la conexión y enviar un comando de escape simple:

Imports System.IO

Public Class PrintTest

   Public Sub Print()
      Dim p As New PrintDialog
      If p.ShowDialog() = DialogResult.OK Then
      Dim pd As New PrintDocument
      AddHandler pd.PrintPage, AddressOf Me.PrintPageHandler
      pd.PrinterSettings = p.PrinterSettings
         pd.Print()
      End If
   End Sub

   Private Sub PrintPageHandler(ByVal sender As Object, _
   ByVal args As PrintPageEventArgs)
      Dim f As New Font("Arial", 12)
      Dim g As Graphics = args.Graphics
      g.DrawString("Hello, World!", f, Brushes.Black, 0, 0)
   End Sub
End Class

Este es un ejemplo simplificado y en un escenario real, los comandos de escape dependerán del modelo del ticket de la impresora que estemos utilizando. La documentación específica de la impresora será nuestra mejor herramienta aquí.

Pruebas y depuración de la conexión con la impresora

Asegurar una comunicación sólida con la impresora de tickets es fundamental. Debemos ser conscientes de los posibles problemas al formatear nuestros comandos, como los desbordamientos de buffer y el manejo de datos erróneos.

Private Sub PrintTest_PrintPage(ByVal sender As System.Object, _
     ByVal e As PrintPageEventArgs) Handles PrintTest.PrintPage
   Dim f As New Font("Arial", 12)
   e.Graphics.DrawString("Hello, World!", f, Brushes.Black, 0, 0)
End Sub

Comandos de Escape y su significado

Los comandos de escape son piezas críticas del lenguaje de control del hardware de la impresora, y su propósito puede variar desde cambiar formatos de fuente hasta cortar tickets.

Enviando Comandos de Escape a la Impresora con Visual Basic

Visual Basic permite interactuar con impresoras de bajo nivel, realizando acciones como envío de comandos de escape directamente a la impresora. Para esto, necesitaremos usar la clase RawPrinterHelper.

Public Sub PrintDocument(ByVal printer As String, ByVal text As String)
   Dim doc As New PrintDocument()
   doc.PrinterSettings.PrinterName = printer
   AddHandler doc.PrintPage, Sub(s, args)
     args.Graphics.DrawString(text, New Font("Consolas", 10), Brushes.Black, 10, 10)
     args.HasMorePages = False
End Sub

Este ejemplo imprime el texto que se le pasa como argumento en la impresora especificada.

Recapitulación y más allá

Hemos cubierto los fundamentos del envío de comandos de escape a una impresora de tickets a través de USB con Visual Basic. La documentación de la impresora ha sido la clave para entender los comandos de escape específicos a utilizar.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad