2,855 questions
You can use the below code which use PrintQueue to get the status PrintQueueStatus of printer:
public static void GetPrintStatus()
{
PrintQueue pq = LocalPrintServer.GetDefaultPrintQueue();
switch (pq.QueueStatus)
{
case PrintQueueStatus.None:
Console.WriteLine("Status is not specified");
break;
case PrintQueueStatus.OutputBinFull:
Console.WriteLine("The printer's output bin is full");
break;
case PrintQueueStatus.PaperOut:
Console.WriteLine("The printer does not have, or is out of, the type of paper needed for the current print job");
break;
case PrintQueueStatus.Printing:
Console.WriteLine("Printer is printing");
break;
default:
Console.WriteLine(pq.QueueStatus);
break;
}
}