domingo, 24 de octubre de 2010

Impresión Windows Form C#

La aplicación despliega dos imagenes que deben ser impresas, les dejo el codigo que aplicamos para llevar esto acabo.

Bitmap objImageFrom;
Bitmap objImageBack;
Size objSize;
PrintDocument objPrintDocument;
objPrintDocument = new PrintDocument();

private void frmViewCredential_Load(object sender, EventArgs e)
{
this.objPrintDocument.PrintPage += new PrintPageEventHandler(objPrintDocument_PrintPage);
}


#region void objPrintDocument_PrintPage(object sender, PrintPageEventArgs e)
void objPrintDocument_PrintPage(object sender, PrintPageEventArgs e)
{
//e.Graphics.DrawImage(imagen, 0, 0);
e.Graphics.DrawImage(this.objImageFrom, 250, 50);
e.Graphics.DrawImage(this.objImageBack, 250, this.objSize.Height + 100);
}
#endregion

#region private void btnImprimir_Click(object sender, EventArgs e)
private void btnImprimir_Click(object sender, EventArgs e)
{
this.CapturarPantalla();
this.objPrintDocument.Print();
}
#endregion


#region private void CapturarPantalla()
private void CapturarPantalla()
{
/*Graphics g = this.CreateGraphics();
Size s = this.Size;
imagen = new Bitmap(s.Width, s.Height, g);
Graphics g2 = Graphics.FromImage(imagen);
g2.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);*/

//Graphics g = this.CreateGraphics();
//Size s = this.picImageFront.Size;
//imagen = new Bitmap(s.Width, s.Height, g);
//Graphics g2 = Graphics.FromImage(this.picImageFront.Image);
//g2.CopyFromScreen(this.picImageFront.Location.X, this.picImageBack.Location.Y, 0, 0, s);
objSize = this.picImageFront.Size;
objImageFrom = new Bitmap(this.picImageFront.Image, objSize);
objImageBack = new Bitmap(this.picImageBack.Image, objSize);
}
#endregion


Referencias
http://www.codeproject.com/KB/printing/printform.aspx
http://social.msdn.microsoft.com/Forums/es-ES/repdeves/thread/80ef3234-7ec1-4abb-96fe-514bd5a26de1
http://www.c-sharpcorner.com/UploadFile/srajlaxmi/PrintingWindowsForm01182008021239AM/PrintingWindowsForm.aspx
http://msdn.microsoft.com/es-es/library/ms404294.aspx

Saludos.

Herramientas...

Convierte rapidamente imagenes en .ico

Dynamic Drive

Saludos