Collation Collation Collation Collation Enum

Definición

Especifica si una impresora intercala la salida cuando imprime varias copias de un trabajo de impresión de varias páginas.Specifies whether a printer collates output when it prints multiple copies of a multi-page print job.

public enum class Collation
public enum Collation
type Collation = 
Public Enum Collation
Herencia

Campos

Collated Collated Collated Collated 1

Salida intercalada.Collated output.

Uncollated Uncollated Uncollated Uncollated 2

Salida no intercalada.Uncollated output.

Unknown Unknown Unknown Unknown 0

La característica (cuyas opciones se representan mediante esta enumeración) está establecida en una opción no definida en el Esquema de impresión.The feature (whose options are represented by this enumeration) is set to an option not defined in the Print Schema.

Ejemplos

El ejemplo siguiente muestra cómo probar las capacidades de la impresora y configurar un trabajo de impresión para sacar provecho de ellas.The following example shows how to test a printer's capabilities and 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

Una impresora estándar normalmente intercala el resultado mediante la impresión de todas las páginas de la primera copia y, a continuación, todas las páginas de la segunda copia y así sucesivamente.A standard printer typically collates output by printing every page of the first copy, then every page of the second copy, and so on. Cuando una impresora estándar no intercalar, lo imprime todas las copias de la primera página y, después, cada copia de la segunda página y así sucesivamente.When a standard printer does not collate, it prints every copy of the first page, then every copy of the second page, and so on.

Algunas impresoras están equipadas especialmente con bandejas de intercalación. La secuencia de impresión de estas impresoras equipado específicamente para ello puede diferir de las impresoras estándar; Sin embargo, el resultado es el mismo: cada copia de un trabajo de impresión de varias página contiene todas las páginas en el orden correcto sin clasificación manual.Some printers are specially equipped with collating bins. The printing sequence for these specially equipped printers may differ from those of standard printers; however the outcome is the same: each copy of a multi-paged print job contains all its pages in the proper sequence without manual sorting.

Utilice los valores de este tipo principalmente para los siguientes fines.Use the values of this type primarily for the following purposes.

  • Como los miembros de la CollationCapability colección, que es una propiedad de PrintCapabilities, estos valores indican el tipo de salida que admite la impresora.As members of the CollationCapability collection, which is a property of PrintCapabilities, these values indicate the type of output that the printer supports. (Muchas impresoras admiten ambos tipos).(Many printers support both types.)

  • Como el valor de la Collation propiedad de un PrintTicket, el valor indica a la impresora si intercalar.As the value of the Collation property of a PrintTicket, the value instructs the printer whether to collate.

El desconocido valor nunca se utiliza en las propiedades de PrintCapabilities objetos.The Unknown value is never used in properties of PrintCapabilities objects.

Nunca debe establecer un PrintTicket propiedad desconocido.You should never set a PrintTicket property to Unknown. Si algún otro PrintTicket generar la aplicación ha creado un documento PrintTicket que establece la característica de intercalación en una opción de intercalación desconocida, un PrintTicket objeto en la aplicación que se construye con ese documento tendrá desconocido como el valor de la Collation propiedad.If some other PrintTicket producing application has created a PrintTicket document that sets the collation feature to an unrecognized collation option, then a PrintTicket object in your application that is constructed with that document will have Unknown as the value of the Collation property.

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.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. Para obtener más información, vea Cómo: Extender el esquema de impresión y crear nuevas clases de sistema de impresión.For more information see How to: Extend the Print Schema and Create New Print System Classes.

Se aplica a

Consulte también: