Está en la página 1de 29

Informes e impresión en

aplicaciones Windows
Forms
Descripción

 Impresión desde una aplicación Windows Forms


 Utilizar las cajas de diálogo Impresión preliminar, Opciones
de página e Imprimir
 Construir contenido sobre documentos de impresión
utilizando GDI+
 Crear informes utilizando Crystal Reports
Lección: impresión desde una aplicación Windows Forms

 Cómo funciona la impresión en una aplicación Windows


Forms de .NET
 Objeto PrintDocument
 Evento PrintPage y PrintPageEventArgs
 Cómo habilitar la impresión en una aplicación Windows
Forms
 Práctica: añadir soporte de impresión en una aplicación
Windows Forms
Cómo funciona la impresión en una aplicación Windows
Forms de .NET
¿Otra
¿Otra vez,
vez,
cómo?
cómo?
2. Evento PrintPage 3. Parámetro PrintPageEventArgs
• Construye contenido • Propiedad PageSettings
• Soporta documentos • Objeto Graphics
multipágina • Propiedad HasMorePages

¿Y
¿Y sobre
sobre el
el
soporte de
soporte de
¿Cómo? 1. Objeto PrintDocument usuario?
usuario?
¿Cómo? • Habilita la impresión

5. Método Print
• Envía contenido a la
impresora
4. Cuadros de diálogo estándares
para impresión
• PrintPreviewDialog
¿Pero
¿Pero cómo
cómo • PageSetupDialog
imprimo?
imprimo? • PrintDialog
Objeto PrintDocument

 Objeto PrintDocument
 Proporciona la capacidad de imprimir un documento
 Proporciona propiedades que describen qué imprimir
Propiedades
Propiedades de
de Eventos
Eventos de
de Métodos
Métodos de
de
PrintDocument
PrintDocument PrintDocument
PrintDocument PrintDocument
PrintDocument
DefaultPageSettings
DefaultPageSettings BeginPrint
BeginPrint Dispose
Dispose

DocumentName
DocumentName EndPrint
EndPrint Print
Print

PrintController
PrintController PrintPage
PrintPage

PrinterSettings
PrinterSettings QueryPageSettings
QueryPageSettings

Nota: Las marcas indican las propiedades, eventos y métodos


del objeto PrintDocument utilizados más frecuentemente
Evento PrintPage y PrintPageEventArgs

Evento PrintPage

• El evento PrintPage incluye


dos parámetros: un objeto que
Objeto PrintPagesEventArgs
representa el emisor y un
objeto PrintPageEventsArgs •El objeto
• El procedimiento de evento PrintPageEventArgs
proporciona los
PrintPage contiene la lógica
componentes requeridos
de programación que para construir las páginas
construye los contenidos del del documento de
documento de impresión y impresión
garantiza que el documento de •PageSettings, Graphics,
impresión completo se y HasMorePages son los
imprime miembros críticos
Cómo habilitar la impresión en una aplicación Windows
Forms
Evento
Evento PrintPage
PrintPage
Clase
Clase PrintPagesEventArgs
PrintPagesEventArgs
• La clase PrintPageEventArgs
debemos utilizarla para leer las • Objeto Graphics
opciones de la página como los • HasMorePages
márgenes y el ancho y alto de la • PageSettings
página
• Establece fuentes y grosor
utilizados en nuestra salida
• Establece regiones en la página
• Construye la salida posicionando
texto y gráficos utilizando los
métodos de la clase Graphics DefaultPageSettings

Objeto
Objeto PrintDocument
PrintDocument
• Especifica las opciones de
impresión
• Añade lógica de impresión al
Método
Método Print
Print evento PrintPage
• Invoca al método Print
• Llama a PrintPage
• Verifica HasMorePages
Cuadros
Cuadros de
de diálogo
diálogo
• La propiedad de los cuadros
de diálogo del documento se
establece al objeto
PrintDocument
Práctica: añadir soporte de impresión a una aplicación
Windows Forms
En esta práctica, podremos
 Añadir un control PrintDocument a un
proyecto
 Crear un procedimiento de evento
PrintPage y desarrollar código para
construir los contenidos de un documento
de impresión
 Establecer el valor de la propiedad
HasMorePages para indicar cuando
deberían imprimirse más páginas
Empezar revisando los objetivos de
10 min
esta actividad práctica
Lección: utilizar la vista previa de impresión, opciones de
página y cajas de diálogo de impresión

 Cómo utilizar el control PrintPreviewDialog


 Práctica: utilizar el control PrintPreviewDialog
 Cómo utilizar el control PageSetupDialog
 Práctica: utilizar el control PageSetupDialog
 Cómo utilizar el control PrintDialog
 Práctica: utilizar el control PrintDialog
Cómo utilizar el control PrintPreviewDialog

PrintPreviewDialog

 Utilizar PrintPreviewDialog para visualizar el aspecto de un


documento cuando se imprima
 Utilizar la vista previa de un documento
1. Crear una instancia del componente PrintPreviewDialog
2. Establecer la propiedad Document del objeto
PrintDocument
3. Configurar las opciones de visualización deseadas para
PrintPreviewDialog y el PrintPreviewControl incluido
4. Mostrar el cuadro de diálogo utilizando el método
ShowDialog EjemploDeCódigo
Práctica: utilizar el control PrintPreviewDialog

En esta práctica, podremos


 Añadir un control PrintPreviewDialog
 Crear una subrutina PrintPreview
 Modificar las opciones de visualización
para el cuadro de diálogo
PrintPreviewDialog

Empezar revisando los objetivos de


esta actividad práctica 8 min
Cómo utilizar el control PageSetupDialog

PageSetupDialog

 Utilizar PageSetupDialog para establecer los detalles de página en


aplicaciones Windows Forms
 Ajustes de bordes y márgenes
 Encabezados y pies
 Orientación horizontal y vertical

 Para utilizar PageSetupDialog y especificar las opciones de página


1. Crear una instancia del control PageSetupDialog
2. Utilizar ShowDialog para visualizar el cuadro de diálogo en tiempo de
ejecución
3. Especificar las opciones del documento utilizando la propiedad
DefaultPageSettings o la clase PageSettings

EjemploDeCódigo
Práctica: utilizar el control PageSetupDialog

En esta práctica, podremos


 Añadir un control PageSetupDialog a
nuestra aplicación
 Crear una subrutina PageSetup que
visualice las opciones de página
 Asignar las opciones de página al objeto
PrintDocument

Empezar revisando los objetivos para


esta actividad práctica 8 min
Cómo utilizar el control PrintDialog

PrintDialog

 Utilizar PrintDialog para especificar las opciones relacionadas con la


impresión
 Especificar la impresora y las propiedades del trabajo de impresión
 Especificar el rango de impresión y reunir las opciones

 Utilizar PrintDialog para que los usuarios seleccionen una impresora


1. Crear una instancia del omponente PrintDialog
2. Establecer la propiedad Document del objeto PrintDocument
3. Capturar la entrada del usuario utilizando la propiedad DialogResult y
visualizar el Cuadro de diálogo de impresión

EjemploDeCódigo
Práctica: utilizar el control PrintDialog

En esta práctica, podremos


 Añadir un control PrintDialog a nuestra
aplicación
 Crear una subrutina PrintDoc que muestre
el cuadro de diálogo
 Imprimir un documento utilizando el
método PrintDocument.Print

Empezar revisando los objetivos de


esta actividad práctica 8 min
Lección: creación del contenido del documento de
impresión utilizando GDI+
 ¿Qué es GDI+?
 ¿QUé es el objeto Graphics?
 Cómo crear y utilizar lápices, pinceles y fuentes
 Cómo dibujar y medir el texto en el procedimiento de eventos
PrintPage
 Cómo generar contenido de impresión utilizando StreamReader
 Demostración: creación del contenido del documento de
impresión utilizando GDI+
 Práctica: creación del contenido del documento de impresión
utilizando GDI+
¿Qué es GDI+?

 GDI+ (el nuevo interfaz para dispositivos gráficos)


 Permite a las aplicaciones generar gráficos y texto
formateado para la salida de vídeo y la impresora
 Permite a los desarrolladores de aplicaciones crear
aplicaciones independientes del dispositivo
 Tres partes de GDI+
 Gráficos vectoriales 2-D
 Texto
 Imágenes
¿Qué es el objeto Graphics?

 Objeto Graphics:
 Proporciona la superficie de dibujo en la que se ubica el contenido
 Proporciona métodos para dibujar texto y gráficos en ubicaciones
especificadas
 Proporciona diversas herramientas para modificar sus contenidos

Dim
Dim myGraphic
myGraphic as
as Graphics
Graphics

'' draw
draw lines
lines or
or outlined
outlined shapes
shapes using
using aa Pen
Pen
myGraphic.DrawLine(myPen,X1,Y1,X2,Y2)
myGraphic.DrawLine(myPen,X1,Y1,X2,Y2)

'' draw
draw filled
filled shapes
shapes using
using aa Brush
Brush
myGraphic.FillRectangle(myBrush,X1,Y1,X2,Y2)
myGraphic.FillRectangle(myBrush,X1,Y1,X2,Y2)

'' draw
draw text
text using
using aa Font
Font and
and aa Brush
Brush
myGraphic.DrawString(myText,myFont,myBrush,X1,Y1)
myGraphic.DrawString(myText,myFont,myBrush,X1,Y1)
Cómo crear y utilizar lápices, pinceles y fuentes

Pen El lápiz se utiliza para dibujar líneas y formas con contorno

Dim myPen As New Pen(Color.Blue)

Brush El pincel se utiliza para dibujar formas rellenas o texto dibujado

Dim myBrush As New SolidBrush(Color.Blue)

Font La fuente se utiliza para dibujar texto con un tamaño o estilo único

Dim myFont As Font("Arial", 16, FontStyle.Bold)


Cómo dibujar y medir el texto en el procedimiento de
evento PrintPage
 Para dibujar texto
1. Calcular la ubicación para el texto
2. Seleccionar Font y Brush que deseamos usar para este texto
3. Invocar el método Graphics.DrawString

e.Graphics.DrawString(myText,
e.Graphics.DrawString(myText, myFont,
myFont, myBrush,
myBrush, X1,
X1, Y1)
Y1)

 Para medir texto


textWidth
textWidth == e.Graphics.MeasureString(myText,
e.Graphics.MeasureString(myText,
myFont).Width
myFont).Width
textHeight
textHeight == e.Graphics.MeasureString(myText,
e.Graphics.MeasureString(myText,
myFont).Height
myFont).Height
Cómo generar contenido de impresión utilizando
StreamReader
Utilizar StreamReader para leer lineas de información desde
un archivo de texto estándar
Private
Private Sub
Sub btnPrintPreviewControl_Click(ByVal
btnPrintPreviewControl_Click(ByVal
sender
sender As
As System.Object,
System.Object, ByVal
ByVal ee As
As __
System.EventArgs)
System.EventArgs) Handles
Handles __
btnPrintPreviewControl.Click
btnPrintPreviewControl.Click
Try
Try
StreamToPrint
StreamToPrint == New
New
StreamReader(“PrintMe.Txt”)
StreamReader(“PrintMe.Txt”)
Try
Try
PrintPreviewControl()
PrintPreviewControl()

Finally
Finally
StreamToPrint.Close()
StreamToPrint.Close()

End
End Try
Try
Demostración: creación del contenido del documento de
impresión utilizando GDI+
En esta demostración, veremos cómo construir
contenido de documentos de impresión utilizando
GDI+
Prácica: creación del contenido del documento de
impresión utilizando GDI+

En esta práctica, podremos


 Crear lápices, pinceles y fuentes
 Crear objetos vectoriales 2-D
 Medir y posicionar texto en la página

Comenzar revisando los objetivos de 15 min


esta actividad práctica
Lección: crear informes utilizando Crystal Reports

 Crystal Reports
 Cómo crear y formatear un informe utilizando
Crystal Reports
 Cómo visualizar un informe utilizando Crystal
Report Viewer
 Cómo añadir DataSets a un informe
 Práctica: crear y visualizar Crystal Reports
Crystal Reports

Crystal Reports
 Es la herramienta de reporting estándar en .NET
 Nos permite crear un informe desde el principio y utilizar alguno de
los Asistentes de informes

Beneficios
 Podemos utilizar cualquier lenguaje de programación
 Visores de informes para aplicaciones basadas en Windows y Web
 Personalización de informes en tiempo de ejecución
 Fácil interacción con los informes
 Capacidades de visualización de datos y análisis

http://msdn.microsoft.com/vstudio/partners/tools
/crystaldecisions.asp
Cómo crear y formatear un informe utilizando Crystal
Reports

Abrir
Abrir el
el Asistente
Asistente Seleccionar
Seleccionar Seleccionar una
de informes
de informes una
una plantilla
plantilla fuente de datos

Crear un informe Crystal Report Seleccionar


Seleccionar
utilizando el Asistente de informes los
los campos
campos
requeridos
requeridos

Formatear Generar Agrupar


Formatear Generar
el elementos y
el informe
informe un
un informe
informe
crear fórmulas
Cómo visualizar un informe utilizando Crystal Report
Viewer
Para visualizar un informe utilizando Crystal Report Viewer

Añadir el control Crystal Report Viewer al formulario

Establecer ReportSource al nombre del informe visualizado

Utilizar ShowZoomButton para hacer zoom in y zoom out sobre


el informe

Utilizar ShowPrintButton para imprimir el informe


Cómo añadir DataSets a un informe

 Añadir conjuntos de de datos (datasets) a los informes nos


permite crear informes desconectados de la base de datos
 Para añadir datasets a un informe, añadir el código al
evento Form_Load

Private
Private rpt
rpt As
As New
New OrderHistory()
OrderHistory()
Private
Private dsReportInfo
dsReportInfo As
As New
New DataSet()
DataSet()
dsReportInfo.ReadXml("NorthwindData.xml")
dsReportInfo.ReadXml("NorthwindData.xml")
rpt.SetDataSource(dsReportInfo)
rpt.SetDataSource(dsReportInfo)
CrystalReportViewer1.ReportSource
CrystalReportViewer1.ReportSource == rpt
rpt
Práctica: crear y visualizar informes Crystal Reports

En esta práctica, podremos


 Configurar el control SqlConnection1 de
Form1 para que se contecte a la base de
datos pubs
 Crear un informe Crystal Report
 Añadir un control Crystal Report Viewer a
Form1

Comenzar revisando los objetivos 12 min


de esta actividad práctica

También podría gustarte