Hallo
Ich versuche mit einem PrintProgressEventHandler() die Druckerschächte anzuwählen.
Leider wird immer der Schacht 4 (Fach3 HP Laserjet 2320) genommen.
Anzufügen wäre noch, dass ich einen Report von DevExpress (XtraReport) drucke.
Hier mein Ansatz:
ReportPrintTool reportPrintTool = new ReportPrintTool(report);
reportPrintTool.PrintingSystem.PrintProgress += new PrintProgressEventHandler(AppFunction._Printer.psPrintProgress);
reportPrintTool.PrintingSystem.AddCommandHandler(new ExportCommandHandler(reportPrintTool, "", report.DisplayName));
reportPrintTool.ShowRibbonPreview(UserLookAndFeel.Default);
public static void psPrintProgress(object sender, DevExpress.XtraPrinting.PrintProgressEventArgs e)
{
if (e.PageIndex == 0 || e.PageSettings.PrinterSettings.MaximumPage == 1)
{ e.PageSettings.PaperSource = e.PageSettings.PrinterSettings.PaperSources[(int)AppGlobalConst.CurrentDefault.Allgemein_intPaperSourceFirstPageID]; }
else
{ e.PageSettings.PaperSource = e.PageSettings.PrinterSettings.PaperSources[(int)AppGlobalConst.CurrentDefault.Allgemein_intPaperSourceNextPageID]; }
Console.WriteLine(e.PageSettings.PaperSource.SourceName);
}
Robert Oberholzer