none
imprimir ticket directamente a una impresora termica RRS feed

  • Pregunta

  • saludos,

    necesito un ejemplo en c# windowsform sobre el metodo de como mandar a imprimir los datos de un datagridview a una impresora termica, directamente sin tener que abrir la ventana de report, osea que cuando se le de al boton de imprimir, el coja los datos del datagrid y lo mande a la impresora con sus debidos margene de ticket de una impresora termica.

    seria de mucha ayuda si alguien tiene un ejemplo


    joel

    domingo, 6 de diciembre de 2020 14:37

Respuestas

  • yo intente con el rdlc anteriormente pero el problema es que el formato para imprimir tickets no me sale.

    Ah, eso es distinto de lo que se infería de tu pregunta original. Entonces tu problema no está en pasarle los datos al informe y hacer que se imprima sin mostrar la interfaz. Según esto último que has dicho, el único problema lo tienes con el diseñador de reportes, donde no sabes darle el formato deseado.

    Por desgracia, la explicación de "el formato no me sale" no es suficiente para que alguien te pueda resolver el problema. Sugiero plantear la pregunta en el foro de Reporting Services ( https://social.msdn.microsoft.com/Forums/es-ES/home?forum=repdeves ), que se especializa entre otras cosas en el diseñador de reportes rdl y rdlc, y que seas bastante extenso en plantear la duda completa, preferiblemente poniendo algún ejemplo de cómo es el ticket que deseas generar, qué es lo que has puesto hasta el momento en el diseñador de informes, y cuáles son los resultados que produce. De esa forma, alguien podrá sugerir qué cambios son necesarios.

    • Marcado como respuesta joel201022 martes, 8 de diciembre de 2020 14:26
    martes, 8 de diciembre de 2020 8:27
    Moderador

Todas las respuestas

  • Una pregunta importante: la impresora térmica, ¿tiene driver para Windows y funciona en modo gráfico? ¿O es una impresora que solo imprime caracteres y requiere enviar directamente los caracteres al puerto?

    La diferencia entre las dos es vital, porque en el primer caso puedes definir un report para darle formato, pero en el segundo caso te lo tendrías que "currar" a base de muchísimo código para darle el formato deseado.

    Suponiendo que sea el primer caso, es decir, que sí que tengas drivers de Windows y por tanto puedes usar un report, entonces los pasos serían estos:

    1. Asegúrate de que el DataGridView está conectado a un DataTable en su DataSource. Normalmente esta es la forma en la que lo alimentas de datos, pero si no es así (por ejemplo, los datos del DataGridView no los alimentas desde programa sino que el usuario los teclea a mano), entonces construye un DataTable y asígnalo al DataSource del DataGridView. Al introducir datos en el DataGridView, los trasladará automáticamente al DataTable. Este DataTable es el que vas a imprimir mediante el reporte.
    2. Utiliza el diseñador de reportes .rdlc para diseñar un reporte que tenga el formato que requieras para tu ticket y que tome los datos desde el DataTable mencionado antes. Te recomiendo que primero compruebes el reporte haciéndolo visible (provisionalmente), antes de quitar toda la parte que lo hace visible y cambiarlo para que se imprima automáticamente.
    3. Finalmente, llama al informe pasándole por código los comandos para que se imprima. Hay bastantes ejemplos de esto circulando por la red. Por ejemplo, puedes inspirarte en este artículo de la documentación. O en este artículo de CodeProject.

    domingo, 6 de diciembre de 2020 18:30
    Moderador
  • si la impresora tiene su driver de windows e imprime normal, lo que quiero es que cuando le de al boton de imprimir me mande los datos que tengo en el datagrid a la impresora y si es mediante una conexion a sql.

    yo intente con el rdlc anteriormente pero el problema es que el formato para imprimir tickets no me sale.


    joel

    lunes, 7 de diciembre de 2020 0:46
  • Hola

    Alguna actualización con tu consulta?

    Saludos

    lunes, 7 de diciembre de 2020 22:12
    Moderador
  • yo intente con el rdlc anteriormente pero el problema es que el formato para imprimir tickets no me sale.

    Ah, eso es distinto de lo que se infería de tu pregunta original. Entonces tu problema no está en pasarle los datos al informe y hacer que se imprima sin mostrar la interfaz. Según esto último que has dicho, el único problema lo tienes con el diseñador de reportes, donde no sabes darle el formato deseado.

    Por desgracia, la explicación de "el formato no me sale" no es suficiente para que alguien te pueda resolver el problema. Sugiero plantear la pregunta en el foro de Reporting Services ( https://social.msdn.microsoft.com/Forums/es-ES/home?forum=repdeves ), que se especializa entre otras cosas en el diseñador de reportes rdl y rdlc, y que seas bastante extenso en plantear la duda completa, preferiblemente poniendo algún ejemplo de cómo es el ticket que deseas generar, qué es lo que has puesto hasta el momento en el diseñador de informes, y cuáles son los resultados que produce. De esa forma, alguien podrá sugerir qué cambios son necesarios.

    • Marcado como respuesta joel201022 martes, 8 de diciembre de 2020 14:26
    martes, 8 de diciembre de 2020 8:27
    Moderador