Прочитать на английском

Поделиться через


PrintJobStatus Перечисление

Определение

Указывает текущее состояние задания печати в очереди.

Это перечисление поддерживает побитовую комбинацию значений его членов.

C#
[System.Flags]
public enum PrintJobStatus
Наследование
PrintJobStatus
Атрибуты

Поля

Имя Значение Описание
Blocked 512

Ошибка, которая, вероятно, возникла при выполнении предыдущего задания из очереди, заблокировала задание печати.

Completed 4096

Задание печати готово, включая все виды послепечатной обработки.

Deleted 256

Задание печати удалено из очереди (обычно после печати).

Deleting 4

Задание печати находится в процессе удаления.

Error 2

Задание печати находится в состоянии ошибки.

None 0

У задания печати нет определенного состояния.

Offline 32

Принтер отключен.

PaperOut 64

В принтере нет бумаги необходимого размера.

Paused 1

Задание печати приостановлено.

Printed 128

Задание напечатано.

Printing 16

Идет печать задания.

Restarted 2048

Задание печати было заблокировано и перезапущено.

Retained 8192

Задание печати сохранено в очереди после печати.

Spooling 8

Выполняется буферизация задания печати.

UserIntervention 1024

Для исправления ошибки принтеру требуется вмешательство пользователя.

Примеры

В следующем примере показано, как использовать это перечисление при диагностике проблемы с заданием печати.

C#
// Check for possible trouble states of a print job using the flags of the JobStatus property
internal static void SpotTroubleUsingJobAttributes(PrintSystemJobInfo theJob)
{
    if ((theJob.JobStatus & PrintJobStatus.Blocked) == PrintJobStatus.Blocked)
    {
        Console.WriteLine("The job is blocked.");
    }
    if (((theJob.JobStatus & PrintJobStatus.Completed) == PrintJobStatus.Completed)
        || 
        ((theJob.JobStatus & PrintJobStatus.Printed) == PrintJobStatus.Printed))
    {
        Console.WriteLine("The job has finished. Have user recheck all output bins and be sure the correct printer is being checked.");
    }
    if (((theJob.JobStatus & PrintJobStatus.Deleted) == PrintJobStatus.Deleted)
        || 
        ((theJob.JobStatus & PrintJobStatus.Deleting) == PrintJobStatus.Deleting))
    {
        Console.WriteLine("The user or someone with administration rights to the queue has deleted the job. It must be resubmitted.");
    }
    if ((theJob.JobStatus & PrintJobStatus.Error) == PrintJobStatus.Error)
    {
        Console.WriteLine("The job has errored.");
    }
    if ((theJob.JobStatus & PrintJobStatus.Offline) == PrintJobStatus.Offline)
    {
        Console.WriteLine("The printer is offline. Have user put it online with printer front panel.");
    }
    if ((theJob.JobStatus & PrintJobStatus.PaperOut) == PrintJobStatus.PaperOut)
    {
        Console.WriteLine("The printer is out of paper of the size required by the job. Have user add paper.");
    }

    if (((theJob.JobStatus & PrintJobStatus.Paused) == PrintJobStatus.Paused)
        || 
        ((theJob.HostingPrintQueue.QueueStatus & PrintQueueStatus.Paused) == PrintQueueStatus.Paused))
    {
        HandlePausedJob(theJob);
        //HandlePausedJob is defined in the complete example.
    }

    if ((theJob.JobStatus & PrintJobStatus.Printing) == PrintJobStatus.Printing)
    {
        Console.WriteLine("The job is printing now.");
    }
    if ((theJob.JobStatus & PrintJobStatus.Spooling) == PrintJobStatus.Spooling)
    {
        Console.WriteLine("The job is spooling now.");
    }
    if ((theJob.JobStatus & PrintJobStatus.UserIntervention) == PrintJobStatus.UserIntervention)
    {
        Console.WriteLine("The printer needs human intervention.");
    }
}//end SpotTroubleUsingJobAttributes

Комментарии

Это перечисление используется в основном как значение JobStatus свойства .

Применяется к

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

См. также раздел