I Should Got solución puede ser útil para Usted ............................
Primero creé un nuevo PrintDocument y conecté algunos controladores para su evento PrintPage.
mobjPrintDocument = New PrintDocument
RemoveHandler mobjPrintDocument.PrintPage, AddressOf Print_Report
AddHandler mobjPrintDocument.PrintPage, AddressOf Print_Report
Luego podemos llamar a la función PrintBitmap en el PrintDocument siempre que desee imprimir. Aquí lo hago cuando el usuario hace clic en el botón Imprimir.
Private Sub xbtnPrint_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
mintPageIndex = 0
mobjPrintDocument.PrintBitmap(FileName)
End Sub
Ahora viene la parte importante. Podemos secuestrar el contenido al que se apunta mediante el enganche al evento PrintPage (como se manejó anteriormente). Puedo establecer e.PageVisual en cualquier elemento xaml visual y PrintBitmap lo manejará. Aquí utilizo la función GetPages y recorro para asegurarme de que imprimo cada página (un elemento pdfviewer). Sin embargo, puedes señalarlo a cualquier elemento visual como dije.
Private Sub Print_Report(sender As System.Object, e As PrintPageEventArgs)
e.PageVisual = xobjReportViewer.GetPages(mintPageIndex)
mintPageIndex += 1
e.HasMorePages = mintPageIndex < xobjReportViewer.GetPages.Count
End Sub
El e.HasMorePages le permite forzar el disparo de este evento hasta que finalice.
Espero que esto sea útil para alguien. Con Silverlight 5 y el soporte de impresora Post-Script, muchas impresoras que tienen un emulador de PostScript pueden no ser compatibles, pero tampoco serán predeterminadas para la impresión de mapa de bits. Esta solución lo soluciona, lo que hace que la impresión sea un poco más estable en una aplicación de tipo LOB.
¿Cuál es su motor de informes? ¿Hay algún tercero Telerik, Devart, etc.? ¿Qué pasa con la vista previa? ¿Está bien? No nos hemos enfrentado, pero gracias por tu participación. –
La página que se está imprimiendo tiene controles estándar. Creemos que es un problema de controlador de impresora. –
Entonces, ¿qué ocurre cuando imprime en una impresora XPS o en impresoras virtuales PDF? Si están bien, podría ser un problema del controlador. –