Collation Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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.