13.- Informes e impresion en aplicaciones Windows Forms

29
Informes e impresión en aplicaciones Windows Forms

Transcript of 13.- Informes e impresion en aplicaciones Windows Forms

Page 1: 13.- Informes e impresion en aplicaciones Windows Forms

Informes e impresión en aplicaciones Windows

Forms

Page 2: 13.- Informes e impresion 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

Page 3: 13.- Informes e impresion en aplicaciones Windows Forms

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

Page 4: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo funciona la impresión en una aplicación Windows Forms de .NET

5. Método Print• Envía contenido a la

impresora 4. Cuadros de diálogo estándares para impresión

• PrintPreviewDialog• PageSetupDialog• PrintDialog

¿Y sobre el soporte de usuario?

¿Y sobre el soporte de usuario?

3. Parámetro PrintPageEventArgs• Propiedad PageSettings• Objeto Graphics• Propiedad HasMorePages

2. Evento PrintPage• Construye contenido• Soporta documentos multipágina

1. Objeto PrintDocument• Habilita la impresión¿Cómo?¿Cómo?

¿Otra vez, cómo?

¿Otra vez, cómo?

¿Pero cómo imprimo?

¿Pero cómo imprimo?

Page 5: 13.- Informes e impresion en aplicaciones Windows Forms

Objeto PrintDocument

Objeto PrintDocument

Proporciona la capacidad de imprimir un documento Proporciona propiedades que describen qué imprimir

Nota: Las marcas indican las propiedades, eventos y métodos del objeto PrintDocument utilizados más frecuentemente

Propiedades de Propiedades de PrintDocument PrintDocument Propiedades de Propiedades de PrintDocument PrintDocument

DefaultPageSettingsDefaultPageSettings

DocumentNameDocumentName

PrintControllerPrintController

PrinterSettingsPrinterSettings

Eventos de Eventos de PrintDocument PrintDocument

Eventos de Eventos de PrintDocument PrintDocument

BeginPrintBeginPrint

EndPrintEndPrint

PrintPagePrintPage

QueryPageSettingsQueryPageSettings

Métodos de Métodos de PrintDocument PrintDocument

Métodos de Métodos de PrintDocument PrintDocument

DisposeDispose

PrintPrint

Page 6: 13.- Informes e impresion en aplicaciones Windows Forms

Evento PrintPage y PrintPageEventArgs

• El evento PrintPage incluye dos parámetros: un objeto que representa el emisor y un objeto PrintPageEventsArgs

• El procedimiento de evento PrintPage contiene la lógica de programación que construye los contenidos del documento de impresión y garantiza que el documento de impresión completo se imprime

•El objeto PrintPageEventArgs proporciona los componentes requeridos para construir las páginas del documento de impresión

•PageSettings, Graphics, y HasMorePages son los miembros críticos

Objeto PrintPagesEventArgsObjeto PrintPagesEventArgs

Evento PrintPageEvento PrintPage

Page 7: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo habilitar la impresión en una aplicación Windows Forms

Evento PrintPageEvento PrintPageEvento PrintPageEvento PrintPage

• La clase debemos utilizarla para leer las opciones de la página como los márgenes y el ancho y alto de la 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

• La clase debemos utilizarla para leer las opciones de la página como los márgenes y el ancho y alto de la 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

Clase PrintPagesEventArgsClase PrintPagesEventArgsClase PrintPagesEventArgsClase PrintPagesEventArgsPrintPageEventArgs

• Objeto Graphics• HasMorePages• PageSettings

Objeto PrintDocumentObjeto PrintDocumentObjeto PrintDocumentObjeto PrintDocument• Especifica las opciones de

impresión• Añade lógica de impresión al

evento PrintPage• Invoca al método Print

• Especifica las opciones de impresión

• Añade lógica de impresión al evento PrintPage

• Invoca al método PrintMétodo PrintMétodo PrintMétodo PrintMétodo Print

• Llama a PrintPage• Verifica HasMorePages• Llama a PrintPage• Verifica HasMorePages

DefaultPageSettingsDefaultPageSettings

Cuadros de diálogoCuadros de diálogoCuadros de diálogoCuadros de diálogo• La propiedad de los cuadros

de diálogo del documento se establece al objeto PrintDocument

• La propiedad de los cuadros de diálogo del documento se establece al objeto PrintDocument

Page 8: 13.- Informes e impresion en aplicaciones Windows Forms

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 esta actividad práctica 10 min

Page 9: 13.- Informes e impresion en aplicaciones Windows Forms

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

Page 10: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo utilizar el control PrintPreviewDialog

PrintPreviewDialogPrintPreviewDialog

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

Page 11: 13.- Informes e impresion en aplicaciones Windows Forms

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

Page 12: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo utilizar el control 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ágina1. Crear una instancia del control PageSetupDialog2. Utilizar ShowDialog para visualizar el cuadro de diálogo en tiempo de

ejecución3. Especificar las opciones del documento utilizando la propiedad

DefaultPageSettings o la clase PageSettings

PageSetupDialogPageSetupDialog

EjemploDeCódigo

Page 13: 13.- Informes e impresion en aplicaciones Windows Forms

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

Page 14: 13.- Informes e impresion en aplicaciones Windows Forms

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 impresora1. Crear una instancia del omponente PrintDialog2. Establecer la propiedad Document del objeto PrintDocument3. Capturar la entrada del usuario utilizando la propiedad DialogResult

y visualizar el Cuadro de diálogo de impresión

Cómo utilizar el control PrintDialog

PrintDialogPrintDialog

EjemploDeCódigo

Page 15: 13.- Informes e impresion en aplicaciones Windows Forms

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

Page 16: 13.- Informes e impresion en aplicaciones Windows Forms

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+

Page 17: 13.- Informes e impresion en aplicaciones Windows Forms

¿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

Page 18: 13.- Informes e impresion en aplicaciones Windows Forms

¿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 myGraphic as Graphics

' draw lines or outlined shapes using a PenmyGraphic.DrawLine(myPen,X1,Y1,X2,Y2)

' draw filled shapes using a BrushmyGraphic.FillRectangle(myBrush,X1,Y1,X2,Y2)

' draw text using a Font and a BrushmyGraphic.DrawString(myText,myFont,myBrush,X1,Y1)

Dim myGraphic as Graphics

' draw lines or outlined shapes using a PenmyGraphic.DrawLine(myPen,X1,Y1,X2,Y2)

' draw filled shapes using a BrushmyGraphic.FillRectangle(myBrush,X1,Y1,X2,Y2)

' draw text using a Font and a BrushmyGraphic.DrawString(myText,myFont,myBrush,X1,Y1)

Page 19: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo crear y utilizar lápices, pinceles y fuentes

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

BrushBrushBrushBrush El pincel se utiliza para dibujar formas rellenas o texto dibujadoEl pincel se utiliza para dibujar formas rellenas o texto dibujado

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

Dim myPen As New Pen(Color.Blue)Dim myPen As New Pen(Color.Blue)

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

Dim myBrush As New SolidBrush(Color.Blue)Dim myBrush As New SolidBrush(Color.Blue)

Page 20: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo dibujar y medir el texto en el procedimiento de evento PrintPage

Para dibujar texto1.Calcular la ubicación para el texto2.Seleccionar Font y Brush que deseamos usar para este texto3. Invocar el método Graphics.DrawString

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

Para medir texto

textWidth = e.Graphics.MeasureString(myText, myFont).Width

textHeight = e.Graphics.MeasureString(myText, myFont).Height

textWidth = e.Graphics.MeasureString(myText, myFont).Width

textHeight = e.Graphics.MeasureString(myText, myFont).Height

Page 21: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo generar contenido de impresión utilizando StreamReader

Private Sub btnPrintPreviewControl_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles _ btnPrintPreviewControl.Click

Try StreamToPrint = New

StreamReader(“PrintMe.Txt”) Try PrintPreviewControl()

Finally StreamToPrint.Close()

End Try

Private Sub btnPrintPreviewControl_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles _ btnPrintPreviewControl.Click

Try StreamToPrint = New

StreamReader(“PrintMe.Txt”) Try PrintPreviewControl()

Finally StreamToPrint.Close()

End Try

Utilizar StreamReader para leer lineas de información desde un archivo de texto estándar

Page 22: 13.- Informes e impresion en aplicaciones Windows Forms

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+

Page 23: 13.- Informes e impresion en aplicaciones Windows Forms

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 esta actividad práctica

15 min

Page 24: 13.- Informes e impresion en aplicaciones Windows Forms

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

Page 25: 13.- Informes e impresion en aplicaciones Windows Forms

Crystal Reports

http://msdn.microsoft.com/vstudio/partners/http://msdn.microsoft.com/vstudio/partners/tools/crystaldecisions.asptools/crystaldecisions.asp

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

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

Crystal ReportsCrystal Reports

BeneficiosBeneficios

Page 26: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo crear y formatear un informe utilizando Crystal Reports

Crear un informe Crystal Report utilizando el Asistente de informes

Formatearel informe

Formatearel informe

Generarun informe

Generarun informe

Agrupar elementos y

crear fórmulas

Seleccionarlos camposrequeridos

Seleccionarlos camposrequeridos

Seleccionar una fuente de datos

Seleccionaruna plantilla

Seleccionaruna plantilla

Abrir el Asistentede informes

Abrir el Asistentede informes

Page 27: 13.- Informes e impresion en aplicaciones Windows Forms

Cómo visualizar un informe utilizando Crystal Report Viewer

Establecer ReportSource al nombre del informe visualizado

Añadir el control Crystal Report Viewer al formulario

Utilizar ShowZoomButton para hacer zoom in y zoom out sobre el informe

Utilizar ShowPrintButton para imprimir el informe

Para visualizar un informe utilizando Crystal Report ViewerPara visualizar un informe utilizando Crystal Report Viewer

Page 28: 13.- Informes e impresion en aplicaciones Windows Forms

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 rpt As New OrderHistory()Private dsReportInfo As New DataSet()dsReportInfo.ReadXml("NorthwindData.xml")rpt.SetDataSource(dsReportInfo)CrystalReportViewer1.ReportSource = rpt

Private rpt As New OrderHistory()Private dsReportInfo As New DataSet()dsReportInfo.ReadXml("NorthwindData.xml")rpt.SetDataSource(dsReportInfo)CrystalReportViewer1.ReportSource = rpt

Page 29: 13.- Informes e impresion en aplicaciones Windows Forms

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 de esta actividad práctica

12 min