Manage the Print Progress

Handle the following events to track the printing progress and change the printing settings at runtime:

  • XtraReport.PrintProgress

    This event occurs before document pages are sent to a printer. You can obtain information about the current printing progress and access the current page index and other page settings in the event handler.

    Handle this event to perform any specific operations before printing each page, for instance, reflect the current printing state using the ProgressBarEdit control. You can also use the PrintProgressEventArgs.PageSettings property to change a printed page's settings as shown below.

    using DevExpress.XtraPrinting;
    using DevExpress.Xpf.Printing;
    // ...
    
    private void simpleButton_Click(object sender, RoutedEventArgs e) {
        XtraReport1 report = new XtraReport1();
        report.PrintProgress += Report_PrintProgress;
        PrintHelper.Print(report);
    }
    
    private void Report_PrintProgress(object sender, PrintProgressEventArgs e) {
        if (e.PageIndex == 1) 
            e.PageSettings.Landscape = true;
    }
    
    
  • PrintingSystemBase.StartPrint

    This event occurs only once - after one of the following actions (before sending a document to a printer):

    The following tutorials demonstrate how to use this event to perform different tasks: