Collation 열거형

정의

여러 페이지로 된 인쇄 작업을 여러 부 인쇄하는 경우 한 부씩 인쇄할지 여부를 지정합니다.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
상속
Collation

필드

Collated 1

한 부씩 인쇄된 출력입니다.Collated output.

Uncollated 2

한 부씩 인쇄되지 않은 출력입니다.Uncollated output.

Unknown 0

기능(이 열거형으로 해당 옵션이 나타나는 기능)은 인쇄 스키마에 정의되지 않은 옵션으로 설정됩니다.The feature (whose options are represented by this enumeration) is set to an option not defined in the Print Schema.

예제

다음 예에서는 프린터의 기능을 테스트 하 고 활용 하기 위해 인쇄 작업을 구성 하는 방법을 보여 줍니다.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^ 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()

설명

일반적으로 표준 프린터 정렬의 첫 번째 복사본을 모든 페이지에 다음 두 번째 복사본 및 등의 모든 페이지를 인쇄 하 여 출력이 됩니다.A standard printer typically collates output by printing every page of the first copy, then every page of the second copy, and so on. 표준 프린터 비교 하지 않습니다, 첫 페이지의 모든 복사본을 고 두 번째 페이지의 모든 복사본을 인쇄 합니다.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.

일부 프린터를 bin 데이터 정렬 사용 하 여 장착 되어 있습니다. 이러한 장착 되어 프린터에 대 한 인쇄 순서 표준 프린터; 증명과 다를 수 있습니다. 그러나 결과 동일 합니다: 여러 페이지가 인쇄 작업의 각 복사본 수동 정렬 하지 않고 적절 한 순서로 모든 페이지를 포함 합니다.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.

다음과 같은 용도로 기본적으로이 형식의 값을 사용 합니다.Use the values of this type primarily for the following purposes.

  • 멤버로 합니다 CollationCapability 속성은 컬렉션의 PrintCapabilities, 이러한 값을 지 원하는 프린터 출력의 유형을 나타냅니다.As members of the CollationCapability collection, which is a property of PrintCapabilities, these values indicate the type of output that the printer supports. (대부분의 프린터 두 유형 모두를 지원 합니다.)(Many printers support both types.)

  • 값으로는 Collation 의 속성을 PrintTicket, 값 지시 프린터 collate 것인지 합니다.As the value of the Collation property of a PrintTicket, the value instructs the printer whether to collate.

알 수 없는 값은 개체의 속성에서 사용 되지 않습니다 PrintCapabilities .The Unknown value is never used in properties of PrintCapabilities objects.

설정할 수 없습니다는 PrintTicket 속성을 알 수 없는 합니다.You should never set a PrintTicket property to Unknown. 다른 경우 PrintTicket 생성을 PrintTicket 문서가 인식할 수 없는 데이터 정렬 옵션으로 데이터 정렬 기능을 설정 하는 PrintTicket 로 생성 된 애플리케이션의 개체 해당 문서 갖습니다 알 수 없는 값으로는 Collation 속성입니다.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.

하지만 합니다 PrintTicketPrintCapabilities 클래스를 상속할 수 없습니다, 확장할 수 있습니다는 인쇄 스키마 에서 처리 하지 않은 인쇄 디바이스 기능을 인식 하는 PrintTicket 또는 PrintCapabilities 클래스.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. 자세한 내용은 방법: 인쇄 스키마 확장 및 새 인쇄 시스템 클래스 만들기를참조 하세요.For more information see How to: Extend the Print Schema and Create New Print System Classes.

적용 대상

추가 정보