none
Colocar imagen en tiket RRS feed

  • Pregunta

  • Buenas noches

    Les consulto , tengo un programa que imprime un tiket en una impresora térmica de 58mm, funciona sin problemas.

    El asunto es que ahora el cliente, entre otras mejoras que realizamos , quiere que al principio del tiket salga el logo del local. Estoy un poco perdido con el asunto, les dejo el código que utilizo haber si me pueden dar una mano.

    Desde ya muchas gracias

      Dim Hora As String
            Hora = DateTime.Now.ToString("h:mm:ss")
            Dim total As String
            Dim Ticket1 As New CreaTicket()
            Ticket1.impresora = My.Settings.comandera
            Ticket1.AbreCajon()
            Ticket1.TextoCentro(My.Settings.nombrel)
            Ticket1.TextoCentro(My.Settings.telefonol)

            Ticket1.LineasIgual()
            Ticket1.TextoIzquierda("FACTURA : " + (Listapedidos.pedido.Text))
            Ticket1.TextoIzquierda("CLIENTE : " + Listapedidos.DataGridView1.CurrentRow.Cells(2).FormattedValue)
            Ticket1.TextoIzquierda("DIRECCION : " + Listapedidos.DataGridView1.CurrentRow.Cells(3).FormattedValue)
            Ticket1.TextoIzquierda("VENTA   : " + "contado")
            Ticket1.TextoIzquierda("CAJERO  : " + "")
            Ticket1.TextoExtremos("FECHA : " + Trim(Listapedidos.DateTimePicker1.Text), "HORA : " + Listapedidos.hora.Text)
            Ticket1.LineasIgual()

            Dim i As Integer
            For i = 0 To Listapedidos.ListView1.Items.Count - 1
                Ticket1.TextoIzquierda(Listapedidos.ListView1.Items.Item(i).SubItems(0).Text)
                Ticket1.TextoIzquierda(Listapedidos.ListView1.Items.Item(i).SubItems(1).Text)
                Ticket1.TextoIzquierda(Trim(CStr(Listapedidos.ListView1.Items.Item(i).SubItems(3).Text)))
            Next

            Ticket1.LineasIgual()
            total = (Me.total.Text)
            Ticket1.AgregaTotales("          TOTAL", Me.total.Text) ' // imprime linea con total
            Ticket1.LineasTotales()
            Ticket1.AgregaTotales("         CAMBIO", Me.vuelto.Text) ' // imprime linea con total
            Ticket1.LineasIgual()
            Ticket1.TextoIzquierda("CAJA : " + "01")
            Ticket1.TextoCentro("GRACIAS POR SU COMPRA")
            Ticket1.TextoCentro("...................")
            Ticket1.CortaTicket() '

    jueves, 14 de mayo de 2020 0:13

Todas las respuestas

  • Bueno, el principal problema es que la parte de código que has mostrado es completamente irrelevante para comprender cómo estás imprimiendo. Solo muestra una serie de llamadas a un objeto "Ticket1" que presuntamente es el que realmente realiza la impresión, y no se ve cómo lo hace.

    ¿Qué es lo que resulta importante saber? Pues hay que conocer si está llamando a la impresora a través del driver gráfico o si le está enviando los datos en modo texto directamente a través de un puerto.

    Si está en modo gráfico, típicamente en VB estarías usando un objeto PrintDocument para generar el contenido a imprimir mediante GDI+. En este caso, para añadir el logo harías una llamada a DrawImage sobre el objeto Graphics devuelto por tu PrintDocument.

    Pero si estás manejando la impresora enviando directamente texto al puerto, entonces no hay un estándar para imprimir gráficos por esta vía. Tendrás que buscar el manual de ese modelo concreto de impresora y ver cuáles son los códigos específicos que hay que transmitirle para que pinte un gráfico. Típicamente se trata de alguna secuencia de escape seguida de los bits de la imagen codificados de alguna manera concreta (por ejemplo, líneas de 8 puntos codificados en hexadecimal). Será necesario conocer este dato sobre la impresora para saber cómo enviarle el logo.

    Insisto, es una cosa o la otra, no se pueden mezclar las dos. Lo primero de todo hay que saber cuál de los dos mecanismos está usando tu objeto "Ticket1".

    jueves, 14 de mayo de 2020 5:22
  • Hola

      

    ¿Alguna novedad sobre la consulta realizada? ¿Ha sido útil la respuestas proporcionada?  

     

    Gracias por usar los foros de MSDN. 

      

    Oscar Navarro

    jueves, 14 de mayo de 2020 20:52
    Moderador
  • Buenas , por ahora sigo buscando ya que no pude resolverlo.

    Saludos

    miércoles, 20 de mayo de 2020 20:34