Collation Enum

Definitie

Hiermee geeft u op of een printer uitvoer samenvouwt wanneer er meerdere exemplaren van een afdruktaak met meerdere pagina's worden afgedrukt.

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

Velden

Name Waarde Description
Unknown 0

De functie (waarvan de opties worden vertegenwoordigd door deze opsomming) is ingesteld op een optie die niet is gedefinieerd in het afdrukschema.

Collated 1

Gesorteerde uitvoer.

Uncollated 2

Niet-gesorteerde uitvoer.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de mogelijkheden van een printer test en een afdruktaak configureert om hiervan te profiteren. .

// ---------------------- 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^ printCapabilities = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilities->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilities->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilities->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 printCapabilities = printQueue.GetPrintCapabilities();

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

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

    if (printCapabilities.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 printCapabilities As PrintCapabilities = printQueue.GetPrintCapabilities()

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

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

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

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Opmerkingen

Een standaardprinter sorteert doorgaans de uitvoer door elke pagina van de eerste kopie af te drukken, vervolgens elke pagina van de tweede kopie, enzovoort. Wanneer een standaardprinter niet samenvouwt, wordt elke kopie van de eerste pagina afgedrukt, vervolgens elke kopie van de tweede pagina, enzovoort.

Sommige printers zijn speciaal uitgerust met instortingsbakken. De afdrukvolgorde voor deze speciaal uitgeruste printers kan verschillen van die van standaardprinters; het resultaat is echter hetzelfde: elke kopie van een afdruktaak met meerdere pagina's bevat alle pagina's in de juiste volgorde zonder handmatig sorteren.

Gebruik de waarden van dit type voornamelijk voor de volgende doeleinden.

  • Als leden van de CollationCapability verzameling, een eigenschap van PrintCapabilities, geven deze waarden het type uitvoer aan dat de printer ondersteunt. (Veel printers ondersteunen beide typen.)

  • Als de waarde van de Collation eigenschap van een PrintTicket, geeft de waarde aan of de printer moet sorteren.

De onbekende waarde wordt nooit gebruikt in eigenschappen van PrintCapabilities objecten.

U moet nooit een PrintTicket eigenschap instellen op Onbekend. Als een andere PrintTicket productietoepassing een PrintTicket-document heeft gemaakt waarmee de sorteringsfunctie wordt ingesteld op een niet-herkende sorteringsoptie, heeft een PrintTicket object in uw toepassing dat is samengesteld met dat document onbekend als de waarde van de Collation eigenschap.

Hoewel de PrintTicket en PrintCapabilities klassen niet kunnen worden overgenomen, kunt u het afdrukschema uitbreiden om functies van het afdrukapparaat te herkennen waarvoor geen rekening wordt gehouden in de PrintTicket of PrintCapabilities klassen. Zie Het afdrukschema uitbreiden en nieuwe afdruksysteemklassen maken voor meer informatie.

Van toepassing op

Zie ook