Imprimir utilizando PrintDocument y PrintDialog

Este pretende ser un ejemplo muy simple y breve en visual basic .net. Sencillo para que se entienda rapidamente su funcionamiento y breve (con muy poco código) para que nada nos estorbe a la hora de ponerle nuestro toque personal. Los programadores somos muy creativos y me a pasado muchas veces que me encontré con ejemplos muy complejos y llenos de código, los cuales tuve que desmenuzar y analizar por partes para poder entender su funcionamiento. Así que trato de poner en todos mis post ejemplos concretos, simples y que funcionen con solo copiar, pegar y hacer una mimina configuración a los controles.

Necesitamos:

Un Winform (Form1), un control PrintDocument (PrintDocument1), un control PrintDialog (PrintDialog1), un TextBox (TextBox1) y un Botón (Button1). El formulario debería tener un aspecto similar al de esta imagen:

Copiamos el siguiente código en el evento click de button1


If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
PrintDocument1.Print()
End If

que lo que hace es abrir el cuadro de dialogo para seleccionar la impresora y luego pasa pasa toda la configuración seleccionada al objeto printDocument y luego le dice que imprima. Lo que dispara el evento PrintPage de printDocument.

Ahora sobre el objeto PrintDocument1 hacemos doble clic y pegamos el siguiente código


e.Graphics.DrawString(TextBox1.Text, New Font("Verdana", 18, FontStyle.Bold), Brushes.Black, 10, 10)

For i As Integer = 1 To 10
e.Graphics.DrawString("Ejemplo de linea: " & i, New Font("Tahoma", 10, FontStyle.Bold), Brushes.Black, 10, 20 + (i * 30))
Next

Al ejecutar el programa este imprimirá el contenido de la caja de texto como titulo de la pagina y diez lineas de ejemplo utilizando distinta y furnte y tamaño. El resultado se verá similar al de la siguiente imagen:

más información sobre los controles…

PrintDialog (Componente, formularios Windows Forms)

El componente PrintDialog de formularios Windows Forms es un cuadro de diálogo preconfigurado que se utiliza para seleccionar una impresora, elegir las páginas que se van a imprimir y determinar otros valores de configuración relacionados con la impresión en aplicaciones basadas en Windows. Utilícelo como una solución sencilla para seleccionar configuraciones de la impresora o relacionadas con la impresora, en lugar de configurar un cuadro de diálogo propio. Puede permitir que los usuarios impriman diversas partes de sus documentos: imprimir todo, imprimir el intervalo de páginas especificado o imprimir una selección. Al basarse en cuadros de diálogo estándar de Windows, creará aplicaciones cuya funcionalidad básica les resultará inmediatamente familiar a los usuarios.

PrintDocument (Componente, formularios Windows Forms)

El componente PrintDocument de formularios Windows Forms se utiliza para establecer las propiedades que describen qué se imprime y, a continuación, para imprimir el documento dentro de aplicaciones basadas en Windows.



Comentar