Post on 29-Jun-2015
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
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?
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
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
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
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
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
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
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
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
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
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
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 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)
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)
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
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
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 esta actividad práctica
15 min
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
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
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
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
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
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