Tengo una aplicación web, que genera reportes en forma local, para mostrarlos uso un reportviewer. El problema está en que la funcion imprimir no funciona, al parecer hay dos formas de hacer esto, la primera es exportar el reporte a pdf o excel e imprimir desde allí. La segunda es implementar la funcionalidad de impresion. Encontre una clase que hace esto, pero tiene varios inconvenientes, el primero es que graba un archivo con extension EMF en el disco duro, y no se como se puede comportar esto en un ambiente web y el segundo inconveniente es que no puedo setear el tamaño del reporte al momento de imprimirlo.
La forma en que esta clase imprime un reporte, es creando una imagen del reporte, utilzando el metodo render del reporte
localreport.Render("Image", deviceInfo, CreateStream, out warnings);
luego crea una imagen por cada pagina
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
y esto es lo que envia a la impresora.
Alguien conoce otra forma de hacer lo mismo sin los incovenientes que mencioné mas arriba?
Desde ya les agradezco y mucho ...
Natalia