// получить статус принтера public static string GetPrinterStatus(string printerName) { PrintQueue printer = GetPrintQueueByName(printerName); if (printer == null) { return(string.Concat("The printer \"", printerName, "\" is not installed.")); } PrintQueueStatus status = printer.QueueStatus; if (status == PrintQueueStatus.None) { return("Ok"); } else { return(status.ToString()); } }
private string GetIconQueueStatus(PrintQueueStatus status, bool isDefault) { string data = ""; string normal = isDefault ? "printer_ready" : "printer_lg"; switch (status) { case PrintQueueStatus.Busy: data = "printer_busy"; break; case PrintQueueStatus.DoorOpen: data = "printer_error"; break; case PrintQueueStatus.Error: data = "printer_error"; break; case PrintQueueStatus.Initializing: data = "printer_busy"; break; case PrintQueueStatus.IOActive: data = "printer_busy"; break; case PrintQueueStatus.ManualFeed: data = "printer_waiting"; break; case PrintQueueStatus.None: data = normal; break; case PrintQueueStatus.NotAvailable: data = "printer_error"; break; case PrintQueueStatus.NoToner: data = "printer_error"; break; case PrintQueueStatus.Offline: data = "printer_error"; break; case PrintQueueStatus.OutOfMemory: data = "printer_error"; break; case PrintQueueStatus.OutputBinFull: data = "printer_error"; break; case PrintQueueStatus.PagePunt: data = "printer_error"; break; case PrintQueueStatus.PaperJam: data = "printer_error"; break; case PrintQueueStatus.PaperOut: data = "printer_error"; break; case PrintQueueStatus.PaperProblem: data = "printer_error"; break; case PrintQueueStatus.Paused: data = "printer_waiting"; break; case PrintQueueStatus.PendingDeletion: data = "printer_busy"; break; case PrintQueueStatus.PowerSave: data = "printer_waiting"; break; case PrintQueueStatus.Printing: data = "printer_busy"; break; case PrintQueueStatus.Processing: data = "printer_busy"; break; case PrintQueueStatus.ServerUnknown: data = "printer_error"; break; case PrintQueueStatus.TonerLow: data = normal; break; case PrintQueueStatus.UserIntervention: data = "printer_error"; break; case PrintQueueStatus.Waiting: data = "printer_busy"; break; case PrintQueueStatus.WarmingUp: data = "printer_busy"; break; default: // Control should never reach here return(null); } return("pack://application:,,,/Daytimer.Images;component/Images/" + data + ".png"); }
private string GetFriendlyQueueStatus(PrintQueueStatus status) { switch (status) { case PrintQueueStatus.Busy: return("Busy"); case PrintQueueStatus.DoorOpen: return("Door Open"); case PrintQueueStatus.Error: return("Error"); case PrintQueueStatus.Initializing: return("Initializing"); case PrintQueueStatus.IOActive: return("Exchanging data with server"); case PrintQueueStatus.ManualFeed: return("Waiting for manual feed"); case PrintQueueStatus.None: return("Ready"); case PrintQueueStatus.NotAvailable: return("Status Unavailable"); case PrintQueueStatus.NoToner: return("Out of toner"); case PrintQueueStatus.Offline: return("Offline"); case PrintQueueStatus.OutOfMemory: return("Out of memory"); case PrintQueueStatus.OutputBinFull: return("Output bin full"); case PrintQueueStatus.PagePunt: return("Unable to print current page"); case PrintQueueStatus.PaperJam: return("Paper Jam"); case PrintQueueStatus.PaperOut: return("Out of paper"); case PrintQueueStatus.PaperProblem: return("Paper Problem"); case PrintQueueStatus.Paused: return("Print queue paused"); case PrintQueueStatus.PendingDeletion: return("Deleting print job"); case PrintQueueStatus.PowerSave: return("Power saving mode"); case PrintQueueStatus.Printing: return("Printing"); case PrintQueueStatus.Processing: return("Not Responding"); case PrintQueueStatus.ServerUnknown: return("Error"); case PrintQueueStatus.TonerLow: return("Low toner"); case PrintQueueStatus.UserIntervention: return("Waiting for user action"); case PrintQueueStatus.Waiting: return("Waiting for print job"); case PrintQueueStatus.WarmingUp: return("Warming Up"); default: // Control should never reach here return(null); } }
/// <summary> /// Converts print queue statuc to string /// </summary> /// <param name="status">Print queue status</param> /// <returns>String represents status</returns> internal static string SpotTroubleUsingQueueAttributes(PrintQueueStatus status) { String statusReport = string.Empty; if ((status & PrintQueueStatus.PaperProblem) == PrintQueueStatus.PaperProblem) { statusReport = statusReport + "Has a paper problem. "; } if ((status & PrintQueueStatus.NoToner) == PrintQueueStatus.NoToner) { statusReport = statusReport + "Is out of toner. "; } if ((status & PrintQueueStatus.DoorOpen) == PrintQueueStatus.DoorOpen) { statusReport = statusReport + "Has an open door. "; } if ((status & PrintQueueStatus.Error) == PrintQueueStatus.Error) { statusReport = statusReport + "Is in an error state. "; } if ((status & PrintQueueStatus.NotAvailable) == PrintQueueStatus.NotAvailable) { statusReport = statusReport + "Is not available. "; } if ((status & PrintQueueStatus.Offline) == PrintQueueStatus.Offline) { statusReport = statusReport + "Is off line. "; } if ((status & PrintQueueStatus.OutOfMemory) == PrintQueueStatus.OutOfMemory) { statusReport = statusReport + "Is out of memory. "; } if ((status & PrintQueueStatus.PaperOut) == PrintQueueStatus.PaperOut) { statusReport = statusReport + "Is out of paper. "; } if ((status & PrintQueueStatus.OutputBinFull) == PrintQueueStatus.OutputBinFull) { statusReport = statusReport + "Has a full output bin. "; } if ((status & PrintQueueStatus.PaperJam) == PrintQueueStatus.PaperJam) { statusReport = statusReport + "Has a paper jam. "; } if ((status & PrintQueueStatus.Paused) == PrintQueueStatus.Paused) { statusReport = statusReport + "Is paused. "; } if ((status & PrintQueueStatus.TonerLow) == PrintQueueStatus.TonerLow) { statusReport = statusReport + "Is low on toner. "; } if ((status & PrintQueueStatus.UserIntervention) == PrintQueueStatus.UserIntervention) { statusReport = statusReport + "Needs user intervention. "; } if (string.IsNullOrEmpty(statusReport)) statusReport = "Ready"; return statusReport; }