Compartir a través de


Imprimir gráficos

En el control Chart para Windows Forms, puede imprimir la imagen del gráfico.Para ello, use la propiedad Printing de este control.Este objeto imprime todos los elementos del control Chart en la vista de datos actual, excepto las barras de desplazamiento.

Puede invocar el cuadro de diálogo Imprimir o bien imprimir en segundo plano.En el objeto Printing, la propiedad PrintDocument permite establecer las propiedades de impresión, como los márgenes de la página.

Impresión personalizada

Para imprimir la imagen del gráfico en un documento que contiene otros elementos de documento, invoque el método PrintPaint dentro de PrintPageEventHandler.Debe pasar al método PrintPaint la propiedad Graphics del objeto PrintPageEventArgs, junto con un objeto Rectangle que defina la posición de la imagen del gráfico en el documento.

En el siguiente código se muestra la impresión de un documento con una línea de texto, seguida de la imagen del gráfico y de otra línea de texto.

' Create new PrintDocument 
Dim pd As New System.Drawing.Printing.PrintDocument() 
' Add the event handler, and then print 
AddHandler pd.PrintPage, AddressOf pd_PrintPage 
' Print the document 
pd.Print() 
... 
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs) 
   ' Create and initialize print font 
   Dim printFont As New System.Drawing.Font("Arial", 10) 
   ' Create Rectangle structure, used to set the position of the chart 
   Dim myRec As New System.Drawing.Rectangle(10, 30, 150, 150) 
   ' Draw a line of text, followed by the chart, and then another line of text 
   ev.Graphics.DrawString("Line before chart", printFont, Brushes.Black, 10, 10) 
   chart1.Printing.PrintPaint (ev.Graphics, myRec) 
   ev.Graphics.DrawString("Line after chart", printFont, Brushes.Black, 10, 200) 
End Sub
// Create new PrintDocument 
System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument(); 
// Add a PrintPageEventHandler for the document 
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage); 
// Print the document 
pd.Print(); 
...
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
   // Create and initialize print font 
   System.Drawing.Font printFont = new System.Drawing.Font("Arial", 10); 
   // Create Rectangle structure, used to set the position of the chart Rectangle 
   myRec = new System.Drawing.Rectangle(10, 30, 150, 150); 
   // Draw a line of text, followed by the chart, and then another line of text 
   ev.Graphics.DrawString("Line before chart", printFont, Brushes.Black, 10, 10); 
   chart1.Printing.PrintPaint (ev.Graphics, myRec); 
   ev.Graphics.DrawString("Line after chart", printFont, Brushes.Black, 10, 200); 
}

Vea también

Otros recursos

Utilizar controles Chart