PrintCapabilities PrintCapabilities PrintCapabilities PrintCapabilities Class

Definición

Define las capacidades de una impresora.Defines the capabilities of a printer.

public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
Herencia
PrintCapabilitiesPrintCapabilitiesPrintCapabilitiesPrintCapabilities

Ejemplos

El ejemplo siguiente muestra cómo determinar las capacidades de una impresora específica y cómo configurar un trabajo de impresión para sacar provecho de ellas.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()

Comentarios

Un PrintCapabilities objeto es una representación sencilla-a-work-with de un determinado tipo de documento XML denominado un documento PrintCapabilities.A PrintCapabilities object is an easy-to-work-with representation of a certain type of XML document called a PrintCapabilities document. Ésta es una instantánea de todas las capacidades de la impresora y su configuración actual.The latter is a snapshot of all of a printer's capabilities and their current settings. Por ejemplo, si la impresora admite la impresión en color, el documento tendría un <PageOutputColor … > elemento que establece cómo se tratará la salida de color.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. El elemento es, a su vez, representado por la OutputColorCapability propiedad de la PrintCapabilities objeto.The element is, in turn, represented by the OutputColorCapability property of the PrintCapabilities object. Si la impresora admite color, no hay ningún <PageOutputColor … > elemento en el documento y el valor de la OutputColorCapability propiedad es 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. El documento PrintCapabilities debe ajustarse a la esquema de impresión.The PrintCapabilities document must conform to the Print Schema.

El PrintCapabilities clase permite que la aplicación obtener capacidades de la impresora sin tener que entrar en ninguna lectura directa de XML Stream objetos.The PrintCapabilities class enables your application to obtain a printer's capabilities without having to engage in any direct reading of XML Stream objects.

Todas las características más populares de las impresoras de archivo y la fotografía para domésticos y empresariales, están encapsuladas por los PrintCapabilities clase.All of the most popular features of file and photo printers, for both home and business, are encapsulated by the PrintCapabilities class. Pero la esquema de impresión define muchos más, es menos común, las características y pueden ampliarse para controlar las características de dispositivos de impresión de Especialidad.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Por lo tanto, aunque el PrintTicket y PrintCapabilities no se puede heredar las clases, puede ampliar el Print Schema para reconocer las características del dispositivo de impresión que no se recogen en el PrintTicket o PrintCapabilities clases.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.

Tenga en cuenta cuando el PrintCapabilities objeto se crea con el constructor que toma un documento PrintCapabilities (como un Stream) parámetro, ese documento completo se almacena en un campo no público en el objeto, incluidos los elementos XML dentro de él que expresan características menos comunes que no están representadas por cualquiera de las propiedades públicas de la PrintCapabilities clase.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. De hecho, si el controlador que generó el documento PrintCapabilities utiliza una extensión privada de la esquema de impresión, ese definido marcado también se almacena como parte del documento PrintCapabilities no público.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.

Precaución

Las clases dentro de la System.Printing espacio de nombres no se admiten para su uso dentro de un servicio de Windows o la aplicación ASP.NET o servicio.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Al intentar utilizar estas clases dentro de uno de estos tipos de aplicaciones puede producir problemas inesperados, como disminuir las excepciones de rendimiento y tiempo de ejecución de servicio.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.

Si desea imprimir desde una aplicación de Windows Forms, consulte el System.Drawing.Printing espacio de nombres.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Constructores

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

Inicializa una nueva instancia de la clase PrintCapabilities mediante el uso de una secuencia XML (que contiene un documento PrintCapabilities) que especifica funciones de impresora y cumple con el Esquema de impresión 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.

Propiedades

CollationCapability CollationCapability CollationCapability CollationCapability

Obtiene una colección de valores que identifican las capacidades de intercalación de una impresora.Gets a collection of values that identify the collation capabilities of a printer.

DeviceFontSubstitutionCapability DeviceFontSubstitutionCapability DeviceFontSubstitutionCapability DeviceFontSubstitutionCapability

Obtiene una colección de valores que identifican si una impresora puede sustituir las fuentes basadas en dispositivo por las fuentes basadas en equipo y cómo hacerlo.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

Obtiene una colección de valores que identifican si una impresora puede imprimir a doble cara y cómo lo hace.Gets a collection of values that identify whether and how a printer can perform two-sided printing.

InputBinCapability InputBinCapability InputBinCapability InputBinCapability

Obtiene una colección de valores que indican qué bandeja de entrada (bandeja del papel) se utiliza.Gets a collection of values that indicate what input bin (paper tray) is used.

MaxCopyCount MaxCopyCount MaxCopyCount MaxCopyCount

Obtiene un valor que indica el número máximo de copias que el dispositivo puede imprimir en un solo trabajo de impresión.Gets a value indicating the maximum number of copies that the device can print in a single print job.

OrientedPageMediaHeight OrientedPageMediaHeight OrientedPageMediaHeight OrientedPageMediaHeight

Obtiene un valor que indica el alto del área de impresión de una página, donde el alto significa la dimensión vertical relativa a la orientación de la página.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

Obtiene un valor que indica el ancho del área de impresión de una página, donde el ancho significa la dimensión horizontal relativa a la orientación de la página.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

Obtiene una colección de valores que especifican las maneras en las que una impresora puede imprimir el contenido con color y tonos de gris.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

Obtiene una colección de valores que indica los tipos de calidad de impresión que admite la impresora.Gets a collection of values that indicate the types of output quality the printer supports.

PageBorderlessCapability PageBorderlessCapability PageBorderlessCapability PageBorderlessCapability

Obtiene una colección de valores que indican si la impresora puede imprimir hasta el borde del soporte de impresión.Gets a collection of values that indicate whether the printer can print up to the edge of the media.

PageImageableArea PageImageableArea PageImageableArea PageImageableArea

Obtiene un objeto que representa el área de una página que la impresora puede utilizar.Gets an object that represents the area of a page that the printer can use.

PageMediaSizeCapability PageMediaSizeCapability PageMediaSizeCapability PageMediaSizeCapability

Obtiene una colección de objetos PageMediaSize que identifican los tamaños del papel y de los soportes que una impresora admite.Gets a collection of PageMediaSize objects that identify the paper and media sizes that a printer supports.

PageMediaTypeCapability PageMediaTypeCapability PageMediaTypeCapability PageMediaTypeCapability

Obtiene una colección de valores que identifican qué tipos de papel y otro soporte admite una impresora.Gets a collection of values that identify what types of paper and other media a printer supports.

PageOrderCapability PageOrderCapability PageOrderCapability PageOrderCapability

Obtiene una colección de valores que indican si una impresora puede imprimir los documentos de varias páginas en orden ascendente, descendente o ambos.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

Obtiene una colección de valores que identifican qué tipos de orientación de página admite una impresora.Gets a collection of values that identify what types of page orientation a printer supports.

PageResolutionCapability PageResolutionCapability PageResolutionCapability PageResolutionCapability

Obtiene una colección de objetos PageResolution que identifican qué niveles de resolución de página admite la impresora.Gets a collection of PageResolution objects that identify what levels of page resolution the printer supports.

PageScalingFactorRange PageScalingFactorRange PageScalingFactorRange PageScalingFactorRange

Obtiene los porcentajes máximo y mínimo en los que una impresora puede ampliar o reducir la imagen de impresión de una página.Gets the maximum and minimum percentages by which a printer can enlarge or reduce the print image on a page.

PagesPerSheetCapability PagesPerSheetCapability PagesPerSheetCapability PagesPerSheetCapability

Obtiene una colección de enteros, donde cada uno identifica el número de páginas que un usuario elige imprimir en una sola cara de una hoja de papel.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

Obtiene una colección de valores que identifican qué modelos admite una impresora para presentar varias páginas en una sola cara de una hoja de papel.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

Obtiene una colección de valores que identifican las opciones de calidad que admite la impresora para imprimir fotografías.Gets a collection of values that identify the quality options the printer supports for printing photographs.

StaplingCapability StaplingCapability StaplingCapability StaplingCapability

Obtiene una colección de valores que identifican los tipos de grapado automático que admite una impresora.Gets a collection of values that identify the types of automatic stapling that a printer supports.

TrueTypeFontModeCapability TrueTypeFontModeCapability TrueTypeFontModeCapability TrueTypeFontModeCapability

Obtiene una colección de valores que identifican los métodos que una impresora admite para controlar las fuentes TrueType.Gets a collection of values that identify the methods that a printer supports for handling TrueType fonts.

Métodos

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

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

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

Sirve como la función hash predeterminada.Serves as the default hash function.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a