En el siguiente ejemplo se supone que se ha creado un Button en un Form. El método printButton_Click del ejemplo crea una instancia de la clase PrintDocument, llama al método pd_PrintPage e imprime el archivo .bmp especificado en el método pd_PrintPage. Para ejecutar este ejemplo, hay que modificar la ruta de acceso al mapa de bits que se desea imprimir.
Se utilizan los espacios de nombres System.ComponentModel, System.Collections, System.Drawing, System.Drawing.Printing, System.Resources y System.Windows.Forms para este ejemplo.
' Specifies what happens when the user clicks the Button.
Private Sub printButton_Click(sender As Object, e As EventArgs)
Try
' Assumes the default printer.
Dim pd As New PrintDocument()
AddHandler pd.PrintPage, AddressOf Me.pd_PrintPage
pd.Print()
Catch ex As Exception
MessageBox.Show("An error occurred while printing", _
ex.ToString())
End Try
End Sub
' Specifies what happens when the PrintPage event is raised.
Private Sub pd_PrintPage(sender As Object, ev As PrintPageEventArgs)
' Draw a picture.
ev.Graphics.DrawImage(Image.FromFile("C:\My Folder\MyFile.bmp"), _
ev.Graphics.VisibleClipBounds)
' Indicate that this is the last page to print.
ev.HasMorePages = False
End Sub
// Specifies what happens when the user clicks the Button.
private void printButton_Click(object sender, EventArgs e)
{
try
{
// Assumes the default printer.
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
pd.Print();
}
catch(Exception ex)
{
MessageBox.Show("An error occurred while printing", ex.ToString());
}
}
// Specifies what happens when the PrintPage event is raised.
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
// Draw a picture.
ev.Graphics.DrawImage(Image.FromFile("C:\\My Folder\\MyFile.bmp"), ev.Graphics.VisibleClipBounds);
// Indicate that this is the last page to print.
ev.HasMorePages = false;
}
private:
// Specifies what happens when the user clicks the Button.
void printButton_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
{
try
{
// Assumes the default printer.
PrintDocument^ pd = gcnew PrintDocument;
pd->PrintPage += gcnew PrintPageEventHandler( this, &Form1::pd_PrintPage );
pd->Print();
}
catch ( Exception^ ex )
{
MessageBox::Show( "An error occurred while printing", ex->ToString() );
}
}
// Specifies what happens when the PrintPage event is raised.
void pd_PrintPage( Object^ /*sender*/, PrintPageEventArgs^ ev )
{
// Draw a picture.
ev->Graphics->DrawImage( Image::FromFile( "C:\\My Folder\\MyFile.bmp" ),
ev->Graphics->VisibleClipBounds );
// Indicate that this is the last page to print.
ev->HasMorePages = false;
}
// Specifies what happens when the user clicks the Button.
private void printButton_Click(Object sender, EventArgs e)
{
try {
// Assumes the default printer.
PrintDocument pd = new PrintDocument();
pd.add_PrintPage(new PrintPageEventHandler(this.pd_PrintPage));
pd.Print();
}
catch (System.Exception ex) {
MessageBox.Show("An error occurred while printing", ex.ToString());
}
} //printButton_Click
// Specifies what happens when the PrintPage event is raised.
private void pd_PrintPage(Object sender, PrintPageEventArgs ev)
{
// Draw a picture.
ev.get_Graphics().DrawImage(Image.FromFile
("C:\\My Folder\\MyFile.bmp"),
ev.get_Graphics().get_VisibleClipBounds());
// Indicate that this is the last page to print.
ev.set_HasMorePages(false);
} //pd_PrintPage