añadir soporte de impresión a una aplicación Windows

Download Report

Transcript añadir soporte de impresión a una aplicación Windows

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
2. Evento PrintPage
• Construye contenido
• Soporta documentos
multipágina
¿Cómo?
¿Otra vez,
cómo?
3. Parámetro PrintPageEventArgs
• Propiedad PageSettings
• Objeto Graphics
• Propiedad HasMorePages
1. Objeto PrintDocument
• Habilita la impresión
5. Método Print
• Envía contenido a la
impresora
¿Pero cómo
imprimo?
¿Y sobre el
soporte de
usuario?
4. Cuadros de diálogo estándares
para impresión
• PrintPreviewDialog
• PageSetupDialog
• PrintDialog
Objeto PrintDocument

Objeto PrintDocument

Proporciona la capacidad de imprimir un documento

Proporciona propiedades que describen qué imprimir
Propiedades de
PrintDocument
Eventos de
PrintDocument
Métodos de
PrintDocument
DefaultPageSettings
BeginPrint
Dispose
DocumentName
EndPrint
Print
PrintController
PrintPage
PrinterSettings
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
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
Objeto PrintPagesEventArgs
•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
Cómo habilitar la impresión en una aplicación
Windows Forms
Evento PrintPage
PrintPageEventArgs
• 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 PrintPagesEventArgs
• Objeto Graphics
• HasMorePages
• PageSettings
DefaultPageSettings
Objeto PrintDocument
Método Print
• Llama a PrintPage
• Verifica HasMorePages
• Especifica las opciones de
impresión
• Añade lógica de impresión al
evento PrintPage
• Invoca al método Print
Cuadros de 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
10 min
de 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 myGraphic as Graphics
' draw lines or outlined shapes using a Pen
myGraphic.DrawLine(myPen,X1,Y1,X2,Y2)
' draw filled shapes using a Brush
myGraphic.FillRectangle(myBrush,X1,Y1,X2,Y2)
' draw text using a Font and a Brush
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, myFont, myBrush, X1, Y1)

Para medir texto
textWidth = e.Graphics.MeasureString(myText,
myFont).Width
textHeight = e.Graphics.MeasureString(myText,
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 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
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 15 min
de 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 el Asistente
de informes
Seleccionar
una plantilla
Seleccionar una
fuente de datos
Crear un informe Crystal Report
utilizando el Asistente de informes
Formatear
el informe
Generar
un informe
Agrupar
elementos y
crear fórmulas
Seleccionar
los campos
requeridos
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 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