Tengo un problema extraño con la impresión de un proyecto de WPF. Estoy imprimiendo una captura de pantalla de la aplicación para fines de informes, y todo eso funciona bien. Actualmente, el usuario presiona imprimir, aparece el cuadro de diálogo de impresión e imprimen la imagen de captura.Imprimir sin ShowDialog da páginas en blanco
Sin embargo, deseo poder imprimir directamente a la impresora predeterminada sin mostrar el cuadro de diálogo. Esto debería hacerse fácilmente comentando la declaración ShowDialog()
y permitiendo que el resto simplemente suceda. La impresora todavía imprime, pero las páginas están siempre en blanco. ¿Alguien puede explicar este comportamiento?
private void PrintCurrentScreen()
{
PrintDialog PD = new PrintDialog();
PD.PrintTicket.OutputColor = OutputColor.Grayscale;
PD.PrintTicket.OutputQuality = OutputQuality.Draft;
PrintTicket PT = new PrintTicket();
PT.PageOrientation = PageOrientation.Landscape;
PT.CopyCount = 1;
PT.PageBorderless = System.Printing.PageBorderless.Borderless;
//---Blank pages print when commented out---//
//if (PD.ShowDialog() == true)
//{
PD.PrintTicket = PT;
DrawingVisual DV = new DrawingVisual();
DV.Offset = new Vector(20, 20);
DrawingContext DC = DV.RenderOpen();
DC.DrawImage(previewimage.Source, new Rect(new Size(PD.PrintableAreaWidth - 40, PD.PrintableAreaHeight - 40)));
DC.Close();
PD.PrintVisual(DV, "TEST");
//}
}
¿Ha encontrado una solución para esto, tengo el mismo problema, pero el problema es que este sucede con algunas PC con diferentes sistemas operativos, no todas, – safi