PrintCapabilities PrintCapabilities PrintCapabilities PrintCapabilities Class

Определение

Определяет возможности принтера.Defines the capabilities of a printer.

public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
Наследование
PrintCapabilitiesPrintCapabilitiesPrintCapabilitiesPrintCapabilities

Примеры

В следующем примере показано, как определить возможности конкретного принтера и как настроить задание печати для их использования.The following example shows how to determine the capabilities of a specific printer and how to configure a print job to take advantage of them.

// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
PrintTicket^ GetPrintTicketFromPrinter () 
{
   PrintQueue^ printQueue = nullptr;

   LocalPrintServer^ localPrintServer = gcnew LocalPrintServer();

   // Retrieving collection of local printer on user machine
   PrintQueueCollection^ localPrinterCollection = localPrintServer->GetPrintQueues();

   System::Collections::IEnumerator^ localPrinterEnumerator = localPrinterCollection->GetEnumerator();

   if (localPrinterEnumerator->MoveNext())
   {
      // Get PrintQueue from first available printer
      printQueue = ((PrintQueue^)localPrinterEnumerator->Current);
   } else
   {
      return nullptr;
   }
   // Get default PrintTicket from printer
   PrintTicket^ printTicket = printQueue->DefaultPrintTicket;

   PrintCapabilities^ printCapabilites = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilites->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilites->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilites->StaplingCapability->Contains(Stapling::StapleDualLeft))
   {
      printTicket->Stapling = Stapling::StapleDualLeft;
   }
   return printTicket;
};// end:GetPrintTicketFromPrinter()
// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
private PrintTicket GetPrintTicketFromPrinter()
{
    PrintQueue printQueue = null;

    LocalPrintServer localPrintServer = new LocalPrintServer();

    // Retrieving collection of local printer on user machine
    PrintQueueCollection localPrinterCollection =
        localPrintServer.GetPrintQueues();

    System.Collections.IEnumerator localPrinterEnumerator =
        localPrinterCollection.GetEnumerator();

    if (localPrinterEnumerator.MoveNext())
    {
        // Get PrintQueue from first available printer
        printQueue = (PrintQueue)localPrinterEnumerator.Current;
    }
    else
    {
        // No printer exist, return null PrintTicket
        return null;
    }

    // Get default PrintTicket from printer
    PrintTicket printTicket = printQueue.DefaultPrintTicket;

    PrintCapabilities printCapabilites = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilites.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilites.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft))
    {
        printTicket.Stapling = Stapling.StapleDualLeft;
    }

    return printTicket;
}// end:GetPrintTicketFromPrinter()
' ---------------------- GetPrintTicketFromPrinter -----------------------
''' <summary>
'''   Returns a PrintTicket based on the current default printer.</summary>
''' <returns>
'''   A PrintTicket for the current local default printer.</returns>
Private Function GetPrintTicketFromPrinter() As PrintTicket
    Dim printQueue As PrintQueue = Nothing

    Dim localPrintServer As New LocalPrintServer()

    ' Retrieving collection of local printer on user machine
    Dim localPrinterCollection As PrintQueueCollection = localPrintServer.GetPrintQueues()

    Dim localPrinterEnumerator As System.Collections.IEnumerator = localPrinterCollection.GetEnumerator()

    If localPrinterEnumerator.MoveNext() Then
        ' Get PrintQueue from first available printer
        printQueue = CType(localPrinterEnumerator.Current, PrintQueue)
    Else
        ' No printer exist, return null PrintTicket
        Return Nothing
    End If

    ' Get default PrintTicket from printer
    Dim printTicket As PrintTicket = printQueue.DefaultPrintTicket

    Dim printCapabilites As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilites.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilites.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Комментарии

Объект — это простое в работе представление XML-документа определенного типа, называемого документом PrintCapabilities. PrintCapabilitiesA PrintCapabilities object is an easy-to-work-with representation of a certain type of XML document called a PrintCapabilities document. Последний является моментальным снимком всех возможностей принтера и их текущих параметров.The latter is a snapshot of all of a printer's capabilities and their current settings. Например, если принтер поддерживает цветную печать, то документ будет иметь <PageOutputColor … > элемент, который определяет, как будет обрабатываться вывод цвета.For example, if the printer supports color printing, then the document would have a <PageOutputColor … > element that sets out how color output will be handled. Элемент, в свою очередь, представлен OutputColorCapability свойством PrintCapabilities объекта.The element is, in turn, represented by the OutputColorCapability property of the PrintCapabilities object. Если принтер не поддерживает цвет, то в документе нет <PageOutputColor … > элемента, а значение OutputColorCapability свойства равно null.If the printer does not support color, then there is no <PageOutputColor … > element in the document and the value of the OutputColorCapability property is null. Документ PrintCapabilities должен соответствовать схеме печати.The PrintCapabilities document must conform to the Print Schema.

Класс позволяет приложению получать возможности принтера, не прибегая к непосредственному чтению объектов XML Stream. PrintCapabilitiesThe PrintCapabilities class enables your application to obtain a printer's capabilities without having to engage in any direct reading of XML Stream objects.

Все самые популярные возможности файловых и фотопринтеров, как для дома, так и для бизнеса, инкапсулируются PrintCapabilities классом.All of the most popular features of file and photo printers, for both home and business, are encapsulated by the PrintCapabilities class. Но схема печати определяет гораздо больше, менее распространенные функции, и ее можно расширить для использования функций специальных печатающих устройств.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Таким образом, несмотря PrintTicket на PrintCapabilities то, что классы и не могут быть унаследованы, можно расширить схему печати для распознавания функций печатающего устройства, которые не PrintTicket являются PrintCapabilities учетными в классах или.So, although the PrintTicket and PrintCapabilities classes cannot be inherited, you can extend the Print Schema to recognize print device features that are not accounted for in the PrintTicket or PrintCapabilities classes.

Примечание . При создании Streamобъекта с помощью конструктора, принимающего параметр документа PrintCapabilities (в виде), весь документ хранится в неоткрытом поле объекта, включая элементы XML в нем, которые не выражают меньше PrintCapabilities Общие функции, которые не представлены ни одним из открытых свойств PrintCapabilities класса.Note When the PrintCapabilities object is created with the constructor that takes a PrintCapabilities document (as a Stream) parameter, that entire document is stored in a non-public field in the object, including the XML elements within it that express less common features that are not represented by any of the public properties of the PrintCapabilities class. Фактически, если драйвер, который создал документ PrintCapabilities, использует закрытое расширение схемы печати, то определенная в частном порядке разметка также сохраняется как часть общедоступного документа PrintCapabilities.In fact, if the driver that produced the PrintCapabilities document is using a private extension of the Print Schema, that privately defined markup is also stored as part of the non-public PrintCapabilities document.

Внимание!

Классы в System.Printing пространстве имен не поддерживаются для использования в службе Windows или ASP.NET приложении или службе.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Попытка использования этих классов в одном из этих типов приложений может привести к непредвиденным проблемам, например к снижению производительности службы и исключений времени выполнения.Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.

Если требуется выполнить печать из Windows Forms приложения, см. раздел System.Drawing.Printing пространство имен.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Конструкторы

PrintCapabilities(Stream) PrintCapabilities(Stream) PrintCapabilities(Stream) PrintCapabilities(Stream)

Инициализирует новый экземпляр класса PrintCapabilities, используя XML-поток (который содержит документ PrintCapabilities), определяющий возможности принтера и соответствующий схеме печати XML.Initializes a new instance of the PrintCapabilities class by using an XML stream (that contains a PrintCapabilities document) that specifies printer capabilities and complies with the XML Print Schema.

Свойства

CollationCapability CollationCapability CollationCapability CollationCapability

Возвращает коллекцию значений, определяющих возможности принтера, которые касаются разбора по копиям.Gets a collection of values that identify the collation capabilities of a printer.

DeviceFontSubstitutionCapability DeviceFontSubstitutionCapability DeviceFontSubstitutionCapability DeviceFontSubstitutionCapability

Возвращает коллекцию значений, определяющих возможность и способ подстановки шрифтов устройства вместо шрифтов компьютера.Gets a collection of values that identify whether and how a printer can substitute device-based fonts for computer-based fonts.

DuplexingCapability DuplexingCapability DuplexingCapability DuplexingCapability

Возвращает коллекцию значений, определяющих возможность и способ выполнения принтером двухсторонней печати.Gets a collection of values that identify whether and how a printer can perform two-sided printing.

InputBinCapability InputBinCapability InputBinCapability InputBinCapability

Возвращает коллекцию значений, обозначающих используемый входной лоток (лоток для бумаги).Gets a collection of values that indicate what input bin (paper tray) is used.

MaxCopyCount MaxCopyCount MaxCopyCount MaxCopyCount

Возвращает значение, обозначающее максимально допустимое число копий, которое устройство может напечатать в ходе одного задания печати.Gets a value indicating the maximum number of copies that the device can print in a single print job.

OrientedPageMediaHeight OrientedPageMediaHeight OrientedPageMediaHeight OrientedPageMediaHeight

Возвращает значение, указывающее высоту печатной области страницы, где высота обозначает вертикальный размер по отношению к ориентации страницы.Gets a value indicating the height of the imageable area on a page, where height means the vertical dimension relative to the page's orientation.

OrientedPageMediaWidth OrientedPageMediaWidth OrientedPageMediaWidth OrientedPageMediaWidth

Возвращает значение, указывающее ширину печатной области страницы, где ширина обозначает горизонтальный размер по отношению к ориентации страницы.Gets a value indicating the width of the imageable area on a page, where width means the horizontal dimension relative to the page's orientation.

OutputColorCapability OutputColorCapability OutputColorCapability OutputColorCapability

Возвращает коллекцию значений, указывающих способы печати принтером содержимого в цвете и в оттенках серого.Gets a collection of values that specify the ways in which a printer can print content with color and shades of gray.

OutputQualityCapability OutputQualityCapability OutputQualityCapability OutputQualityCapability

Возвращает коллекцию значений, обозначающих типы качества вывода, поддерживаемые принтером.Gets a collection of values that indicate the types of output quality the printer supports.

PageBorderlessCapability PageBorderlessCapability PageBorderlessCapability PageBorderlessCapability

Возвращает коллекцию значений, указывающих, может ли принтер печатать до края носителя.Gets a collection of values that indicate whether the printer can print up to the edge of the media.

PageImageableArea PageImageableArea PageImageableArea PageImageableArea

Возвращает объект, представляющий печатную область страницы.Gets an object that represents the area of a page that the printer can use.

PageMediaSizeCapability PageMediaSizeCapability PageMediaSizeCapability PageMediaSizeCapability

Возвращает коллекцию объектовPageMediaSize, указывающих размеры бумаги и носителей, поддерживаемые принтером.Gets a collection of PageMediaSize objects that identify the paper and media sizes that a printer supports.

PageMediaTypeCapability PageMediaTypeCapability PageMediaTypeCapability PageMediaTypeCapability

Возвращает коллекцию значений, указывающих типы бумаги и других носителей, поддерживаемые принтером.Gets a collection of values that identify what types of paper and other media a printer supports.

PageOrderCapability PageOrderCapability PageOrderCapability PageOrderCapability

Возвращает коллекцию значений, указывающих, может ли принтер печатать многостраничные документы от начала к концу, от конца к началу и в обоих направлениях.Gets a collection of values that indicate whether a printer is capable of printing multiple-page documents from front-to-back, back-to-front, or both ways.

PageOrientationCapability PageOrientationCapability PageOrientationCapability PageOrientationCapability

Возвращает коллекцию значений, указывающих типы ориентации страницы, поддерживаемые принтером.Gets a collection of values that identify what types of page orientation a printer supports.

PageResolutionCapability PageResolutionCapability PageResolutionCapability PageResolutionCapability

Возвращает коллекцию объектовPageResolution, указывающих уровни разрешения страницы, поддерживаемые принтером.Gets a collection of PageResolution objects that identify what levels of page resolution the printer supports.

PageScalingFactorRange PageScalingFactorRange PageScalingFactorRange PageScalingFactorRange

Возвращает наибольший и наименьший процент, на который принтер может увеличить или уменьшить изображение, печатаемое на странице.Gets the maximum and minimum percentages by which a printer can enlarge or reduce the print image on a page.

PagesPerSheetCapability PagesPerSheetCapability PagesPerSheetCapability PagesPerSheetCapability

Возвращает коллекцию целых чисел, каждое из которых указывает количество страниц, которое можно напечатать на одной стороне листа бумаги.Gets a collection of integers, each identifying the number of pages that a user can choose to print on a single side of a sheet of paper.

PagesPerSheetDirectionCapability PagesPerSheetDirectionCapability PagesPerSheetDirectionCapability PagesPerSheetDirectionCapability

Возвращает коллекцию значений, указывающих поддерживаемые принтером шаблоны для представления нескольких страниц на одной стороне листа бумаги.Gets a collection of values that identify what patterns a printer supports for presenting multiple pages on a single side of a sheet of paper.

PhotoPrintingIntentCapability PhotoPrintingIntentCapability PhotoPrintingIntentCapability PhotoPrintingIntentCapability

Возвращает коллекцию значений, указывающих число параметров для печати фотографий, поддерживаемых принтерами.Gets a collection of values that identify the quality options the printer supports for printing photographs.

StaplingCapability StaplingCapability StaplingCapability StaplingCapability

Возвращает коллекцию значений, указывающих типы автоматического сшивания, поддерживаемые принтером.Gets a collection of values that identify the types of automatic stapling that a printer supports.

TrueTypeFontModeCapability TrueTypeFontModeCapability TrueTypeFontModeCapability TrueTypeFontModeCapability

Возвращает коллекцию значений, указывающих способы поддержки принтером шрифтов TrueType.Gets a collection of values that identify the methods that a printer supports for handling TrueType fonts.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

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