Show / Hide Table of Contents

Практическое руководство. Перечисление подмножества очередей печати

Это распространенная ситуация, которыми специалистов по информационным технологиям (ИТ), управляющая набором принтеры всей компании сталкиваются состоит в создании списка принтеров, имеющих определенные характеристики. Эта функциональность обеспечивается GetPrintQueues метод PrintServer объекта и EnumeratedPrintQueueTypes перечисления.

Пример

В следующем примере код начинается с создания массив флагов, определяющих характеристики очередей печати, которые требуется внести в список. В этом примере мы ищем очередей печати, которые устанавливаются локально на сервере печати и являются общими. EnumeratedPrintQueueTypes Перечисление предоставляет множество других возможностей.

Затем он создает LocalPrintServer объект, производный от класса PrintServer. Локальный сервер печати — это компьютер, на котором выполняется приложение.

Последним значительным шагом является передача массив, в который GetPrintQueues метод.

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

// Specify that the list will contain only the print queues that are installed as local and are shared
EnumeratedPrintQueueTypes[] enumerationFlags = {EnumeratedPrintQueueTypes.Local,
                                                EnumeratedPrintQueueTypes.Shared};

LocalPrintServer printServer = new LocalPrintServer();

//Use the enumerationFlags to filter out unwanted print queues
PrintQueueCollection printQueuesOnLocalServer = printServer.GetPrintQueues(enumerationFlags);

Console.WriteLine("These are your shared, local print queues:\n\n");

foreach (PrintQueue printer in printQueuesOnLocalServer)
{
    Console.WriteLine("\tThe shared printer " + printer.Name + " is located at " + printer.Location + "\n");
}
Console.WriteLine("Press enter to continue.");
Console.ReadLine();

Вы можете расширить этот пример за счет foreach цикл, который проходит по каждой очереди печати для дальнейшей блокировки. Например, можно блокировать принтеры, которые не поддерживают двухсторонней печати, вызвав в цикле каждой очереди печати GetPrintCapabilities метод и проверяйте возвращаемое значение наличие блока двусторонней печати.

См. также

  • GetPrintQueues
  • PrintServer
  • LocalPrintServer
  • EnumeratedPrintQueueTypes
  • PrintQueue
  • GetPrintCapabilities
  • Документы в WPF
  • Общие сведения о печати
  • Средство записи XPS-документов (Майкрософт)
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX