Handling Events

PrintManager exposes a Failed, Succeeded, and Updated event on the PrintJob that requests the status of the particular PrintJob within the print spooler. The following example demonstrates how to handle these events. 

NOTE: Firing these events is limited to the capabilities of a particular printer. Some printers might not accurately report print job status to the spooler. Not all printers report job statuses the same and some printers do not report these statuses.

using System;
using ceTe.DynamicPDF.Printing;

namespace PrintManagerConsole
{
    class Program
    { 
        static void Main(string [] args)
        {
            PrintJob printJob = new PrintJob(Printer.Default, pdfFilePath);

            printJob.Failed += new PrintJobFailedEventHandler(printer_PrintJobFailed);
            printJob.Succeeded += new PrintJobEventHandler(printer_PrintJobSucceeded);
            printJob.Updated += new PrintJobEventHandler(printer_PrintJobUpdated);

            printJob.Print();
        }
        static void printer_PrintJobFailed(object obj, PrintJobFailedEventArgs e)
        {
            Console.WriteLine("Print Failed : JobID = " + e.PrintJob.JobId + " Exception.Message = " + e.Exception.Message);
        }
        static void printer_PrintJobSucceeded(object obj, PrintJobEventArgs e)
        {
            Console.WriteLine("Print Succeeded : JobID = " + e.PrintJob.JobId);
        }
        static void printer_PrintJobUpdated(object obj, PrintJobEventArgs e)
        {
            Console.WriteLine("PrintJob Updated : JobID = " + e.PrintJob.JobId + ", Status = " + e.PrintJob.Status + ", Pages Printed = " + e.PrintJob.PagesPrinted);
        }
    }
}    
Imports System
Imports ceTe.DynamicPDF.Printing

Namespace PrintManagerConsole
    Module Module1
        Sub Main()
            Dim MyPrintJob As PrintJob = New PrintJob(Printer.Default, pdfFilePath)

            AddHandler MyPrintJob.Failed, AddressOf Printer_PrintJobFailed
            AddHandler MyPrintJob.Succeeded, AddressOf Printer_PrintJobSucceeded
            AddHandler MyPrintJob.Updated, AddressOf Printer_PrintJobUpdated
            MyPrintJob.Print()
        End Sub
        Sub Printer_PrintJobFailed(ByVal sender As Object, ByVal e As PrintJobFailedEventArgs)
            Console.WriteLine("Print Failed : JobID = " & e.PrintJob.JobId & " Exception.Message = " & e.Exception.Message)
        End Sub
        Sub Printer_PrintJobSucceeded(ByVal sender As Object, ByVal e As PrintJobEventArgs)
            Console.WriteLine("Print Succeeded : JobID = " & e.PrintJob.JobId)
        End Sub
        Sub Printer_PrintJobUpdated(ByVal sender As Object, ByVal e As PrintJobEventArgs)
            Console.WriteLine("PrintJob Updated : JobID = " & e.PrintJob.JobId & ", Status = " & e.PrintJob.Status & ", Pages Printed = " & e.PrintJob.PagesPrinted)
        End Sub
    End Module
End Namespace

In this topic