2 oct 2015

¿Cómo crear un ticket de venta en C#?

En esta entrada les traigo una forma de cómo crear un ticket de venta mediante Visual C#,  su ticket se verá como se muestra en la siguiente imagen (la información contenida en el ticket es sólo de ejemplo para visualizar su estructura).




Video del tutorial - Parte 1



Video del tutorial - Parte 2




Video del tutorial - Parte 3






Recursos del tutorial

Página de Microsoft para mandar a imprimir texto plano
http://sh.st/bUUQU

Clase RawPrinterHelper.cs
https://gist.github.com/joncmc/b4690a1e0745cdbd9de95641e65069eb

Página para ver los caracteres de secuencia de escape de algunas impresoras

http://sh.st/bUURS

Enlace de descarga del código fuente empleado en este tutorial.

http://sh.st/bRZit


¡Espero sea de su utilidad la información!. Saludos.

30 comentarios:

  1. buenos dias a la hora de querer imprimir no se va el documento me queda en imprimiendo.utilisas algun framwork o libreria difrente.

    ResponderBorrar
    Respuestas
    1. Todo lo que uso esta en los videos!! no utilizo ningún otro framework.. Además puedes descargar el código fuente completo de este tutorial para tu mayor entendimiento.

      Borrar
  2. hay alguna manera de imprimir una imagen por ejemplo un codigo de barras o un codigo QR me seria de gran ayuda

    ResponderBorrar
  3. hay alguna manera de imprimir una imagen por ejemplo un codigo de barras o un codigo QR me seria de gran ayuda

    ResponderBorrar
    Respuestas
    1. En este ejemplo sólo se usa texto plano, con el fin de poder enviar secuencias de escape a la impresora, ya que de otro modo no es posible enviar dichas secuencias.

      Sin embargo en Internet hay una librería con la cual puedes lograr lo que necesitas. Descargala de aquí
      http://www.hard-bit.net/files/source/LibPrintTicket.zip

      Y usa la siguiente línea para agregar la imagen
      ticket.HeaderImage = picturebox.image;//Por ejemplo

      Este es el ejemplo completo de la librería

      Ticket ticket = new Ticket();

      ticket.HeaderImage = picturebox.image;//Por ejemplo
      ticket.AddHeaderLine("ChafiTienda");
      ticket.AddHeaderLine("EXPEDIDO EN:");
      ticket.AddHeaderLine("CALLE CONOCIDA");
      . . .

      ticket.AddSubHeaderLine("Ticket # 1");
      ticket.AddSubHeaderLine(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());

      ticket.AddItem("Cantidad", "Nombre producto", "Total");

      ticket.AddTotal("SUBTOTAL", "12.00");
      ticket.AddTotal("IVA", "0");
      ticket.AddTotal("TOTAL", "24");
      ticket.AddTotal("", "");
      ticket.AddTotal("RECIBIDO", "0");
      ticket.AddTotal("CAMBIO", "0");
      ticket.AddTotal("", "");

      ticket.AddFooterLine("VUELVA PRONTO");
      ticket.PrintTicket("EPSON TM-T88III Receipt"); //Nombre de la impresora de tickets

      Borrar
    2. Muchas gracias bro me sirvió mucho.
      Saludos.

      Borrar
    3. hola, yo uso es librería para una impresora de matriz sp500 pero si quiero imprimir alguna tira larga para imprimir todas las ventas del día por ejemplo, solo me imprime 42 lineas, no me imprime todo, sabes si hay alguna manera de modificar la cantidad de la impresión?

      Borrar
    4. A mi sigue sin imprimir mi logo... Hice todo lo especificado y nada.... Por qué será?

      Borrar
  4. Hola buen día, muchas gracias por el código y el tutorial, una duda, dentro desde el código hay manera de que pueda asignar a las lineas de productos una letra mas pequeña?, esto con el fin de poder insertar cantidades mas grandes en el total del importe?

    ResponderBorrar
    Respuestas
    1. NO es posible cambiar el tamaño de fuente en este tipo de impresión, verifica si tu impresora permite cambiar el tamaño y tipo de fuente en su configuración.

      Borrar
    2. Hola Carlos Carrilo, me puedes ayudar, estoy tratando de implemtar codigo de barra 128 pero no se como . gracias

      Borrar
  5. Hola quisiera saber si este codigo lo puedo utilizar en mi aplicacion web .aspx?

    ResponderBorrar
  6. hola uso la misma librería, una consulta con esta librearía como se puede modificar el tamaño del papel usado en la impresora?

    ResponderBorrar
  7. Hola mil gracias por el código. Solo tengo una duda cómo puedo cambiar el tamaño de algunos elementos de texto, por ejemplo el nombre de la compañía.
    Saludos
    Carlos

    ResponderBorrar
  8. Hola puedo usar codigos 2D, Pdf417 para la facturacion elecronica de mi pais.

    ResponderBorrar
  9. hola como estas...
    oye que crees que al mandar imprimir el corte me lo hace antes de terminasr de imprimir como puedo hacer que imprima unas cuantas lineas despues

    ResponderBorrar
  10. Hola: Amigo buenas tarde.
    ¿Cómo se hace para implementar código de barra , para imprimir ticketera, pueden ayudarme.

    ResponderBorrar
    Respuestas
    1. Hola richard, no se si ya resolviste el problema. Si aun no escribeme, logre implementarlo usando el mismo codigo pero con otros truquitos

      Borrar
    2. Buen Dia Amigo, me podrias ayudar con informacino de como imprimir codigo de barra.
      Quedo atento.
      Slaudos

      Borrar
  11. Eres un grande hermano, gracias. Me es de gran ayuda, apenas voy comenzando la carrera. :)

    ResponderBorrar
  12. no puedo hacer que imprima y no tirar ningun error

    ResponderBorrar
    Respuestas
    1. Hola, eso es un tema del windows. A mi me pasaba lo mismo, pase el debug ( el exe ) a un windows 10 y funcionó perfecto.

      Borrar
  13. como hago para que imprima con tildes, me sale un símbolo envés de la (ó)

    ResponderBorrar
  14. Cuando envio a imprimir me sale la impresion en blanco, sin datos

    ResponderBorrar
  15. Saludos, buenas espero estés me gustaría saber si ahí alguna forma de colocar un logotipo en esta forma de imprimir lo e intentado pero no funciona ninguna de las forma que e trabado si puedes ayuda me por favor.

    ResponderBorrar
    Respuestas
    1. buen dia amigo, pudiste resolver el tema del logo? yo tengo el mismo problema, no se si el picturebox debe tener alguina configuracion en particular, si lo resolviste seria de gran ayuda tu apoyo.
      Saludos

      Borrar
  16. tremendo codigo as ayudado bastante hermano muchas gracias

    ResponderBorrar
  17. Este señor esta haciendo dinero con tu código fuente, es el mismo, lamentablemente yo lo compre

    https://www.youtube.com/watch?v=l_DX3iHes1g

    ResponderBorrar