Hola Kike,
Para imprimir directamente, tienes que agregar una herramienta
PrintDocument a tu proyecto.
El mejor es de lo instanciar en el Form donde es necesario :
Private WithEvents MiPrintDocument As System.Drawing.Printing.PrintDocument
Despues este, puedes llamar
MiPrintDocument.Print cuando quieras imprimir.
Este código llenar la ejecución del procedimiento
Private Sub MiPrintDocument _PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles MiPrintDocument.PrintPage.
Este procedimiento debe ser escribido por ti.
Ejemplo de procedimiento (no para utilizar, solamente para mostrar los mecanismos) :
Este es más fácil de imprimir el contenido de un archivo TXT.
Aqui, para llamar la impresión, tienes que escribir el código siguiente :
El procedimiento
MiPrintDocument_PrintPage es escribido como esta :
El procedimiento precedente es más fácil que la primera pero todas líneas están en el mismo formato.
Sobre la impresión de documentos, los detalles del diseño han sido muy difíciles a ajustar.
Este es la razón que utilizo la método siguiente.
Cuando tengo que imprimir, los datos están en las herramientas de Form (TextBox, ComboBox, DataGidView, …) y en variables en el código.
Ahí, registro todos los datos en un archivo TXT, veces con códigos que dicen como quiero ver imprimir el valor.
Cuando el archivo es hecho, contiene todo el necesario para imprimir el documento o el ticket.
A este momento, llamo las herramientas de impresión que es en mi clase MisImpresiones. En este clase, muestro la cadre de selección de la impresora (si necesario), muestro un “Preview” ((si necesario), y escribo el procedimiento MiPrintDocument_PrintPage con un Select Case para modificar el diseño de cada línea según los códigos agregados a mi archivo TXT.
Entonces, he la impresión en 2 etapas :
En el Form, los datos son enviados en archivo.
En la clase MisImpresiones, escribido el diseño.
Adjunto un proyecto para ejemplo de mi algoritmo completo, con impresión de varios datos, con un archivo TXT, con los códigos utilizados en MiPrintDocument_PrintPage.
Espero que esto te ayudará ...
