다음을 통해 공유


PrintTicket 클래스

정의

인쇄 작업의 설정을 정의합니다.

public ref class PrintTicket sealed : System::ComponentModel::INotifyPropertyChanged
public sealed class PrintTicket : System.ComponentModel.INotifyPropertyChanged
type PrintTicket = class
    interface INotifyPropertyChanged
Public NotInheritable Class PrintTicket
Implements INotifyPropertyChanged
상속
PrintTicket
구현

예제

다음 예제에서는 특정 프린터의 기능을 확인 하는 방법 및 활용 하는 인쇄 작업을 구성 하는 방법을 보여 줍니다.

// ---------------------- 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 PrintTicket 개체는 호출 하는 XML 문서의 특정 형식의 쉬운-에-작업-사용 하 여 표현 된 PrintTicket 문서가합니다. 후자는 프린터 (이루어지는 데이터 정렬 및 스테이플링) 하는 등의 다양 한 기능을 설정 하는 방법을 지시 하는 명령 집합입니다. 예를 들어, 해당 스테이플 설정 하 고 왼쪽된 위 모퉁이에서 인쇄 작업을 스테이플링 프린터를 지정 하는 문서는 것이 <JobStapleAllDocuments … > 지정 하는 요소 StapleTopLeft합니다. 요소를 나타내는 차례로 합니다 Stapling 의 속성을 PrintTicket 개체입니다. PrintTicket 문서가 준수 해야 합니다 Print Schema합니다.

합니다 PrintTicket 클래스를 사용 하면 XML 직접 작성할에서 신경 쓸 필요 없이 프린터의 기능을 구성 하는 애플리케이션 Stream 개체입니다.

속성으로 표현 되며 집 이나 회사에서 사용 하는 파일 및 사진 프린터의 가장 인기 있는 기능을 모두 PrintTicket 클래스입니다. 하지만 Print Schema 더 많은 정의 일반적이 지 기능 하며 확장할 수 있습니다는 특수 인쇄 디바이스의 기능을 처리 합니다. 따라서 있지만 합니다 PrintTicketPrintCapabilities 클래스를 상속할 수 없습니다, 확장할 수 있습니다는 인쇄 스키마 에서 처리 하지 않은 인쇄 디바이스 기능을 인식 하는 PrintTicket 또는 PrintCapabilities 클래스입니다. 자세한 내용은 방법: 인쇄 스키마 확장 및 새 인쇄 시스템 클래스 만들기를 참조하세요.

참고 때 합니다 PrintTicket PrintTicket 문서가 사용 하는 생성자를 사용 하 여 개체를 만들 (으로 Stream) 매개 변수는 전체 문서 내의 XML 요소를 포함 하 여 개체의 public이 아닌 필드에 저장 됩니다 하는 공용 속성으로 표현 되지 않는 일반적인 기능 덜 express는 PrintTicket 클래스입니다. 사실 PrintTicket 문서가 생성 되는 드라이버의 프라이빗 확장을 사용 하는 경우는 Print Schema개인적으로 정의된 태그는 public이 아닌 PrintTicket 문서의 일부로 저장됩니다.

주의

내에서 클래스를 System.Printing 네임 스페이스는 Windows 서비스 또는 ASP.NET 애플리케이션 또는 서비스 내에서 사용 하 여 지원 되지 않습니다. 이러한 애플리케이션 형식 중 하나에서 이러한 클래스를 사용 하는 동안 예기치 않은 문제가 발생할 수 있습니다, 그리고 감소와 같은 서비스 성능 및 런타임 예외입니다.

Windows Forms 애플리케이션에서 인쇄 하려는 경우 참조는 System.Drawing.Printing 네임 스페이스입니다.

생성자

PrintTicket()

PrintTicket 클래스의 새 인스턴스를 초기화합니다.

PrintTicket(Stream)

XML 인쇄 스키마를 준수하는 XML 스트림(PrintTicket 문서가 포함된 스트림)을 사용하여 PrintTicket 클래스의 새 인스턴스를 초기화합니다.

속성

Collation

문서를 한 부씩 인쇄할지 여부를 나타내는 값을 가져오거나 설정합니다.

CopyCount

인쇄 매수를 가져오거나 설정합니다.

DeviceFontSubstitution

인쇄 작업 시 컴퓨터 기반 글꼴 대신 디바이스 기반 글꼴을 사용할지 여부를 나타내는 값을 가져오거나 설정합니다.

Duplexing

인쇄 작업에 사용할 양면 인쇄(있는 경우)의 종류를 나타내는 값을 가져오거나 설정합니다.

InputBin

사용할 입력함(용지함)을 나타내는 값을 가져오거나 설정합니다.

OutputColor

컬러 또는 회색조의 콘텐츠를 처리하는 방법을 나타내는 값을 가져오거나 설정합니다.

OutputQuality

인쇄 작업의 출력 품질을 나타내는 값을 가져오거나 설정합니다.

PageBorderless

디바이스에서 콘텐츠를 미디어의 가장자리까지 인쇄하는지 또는 가장자리 주위에 인쇄되지 않은 여백을 남겨두는지를 나타내는 값을 가져오거나 설정합니다.

PageMediaSize

인쇄 작업에 사용하는 용지(또는 다른 미디어)의 크기를 가져오거나 설정합니다.

PageMediaType

인쇄 작업에 사용할 용지 또는 미디어의 종류를 나타내는 값을 가져오거나 설정합니다.

PageOrder

여러 페이지를 인쇄하는 경우 뒤 페이지부터 인쇄할지 또는 앞 페이지부터 인쇄할지를 나타내는 값을 가져오거나 설정합니다.

PageOrientation

페이지 콘텐츠의 인쇄 방향을 나타내는 값을 가져오거나 설정합니다.

PageResolution

인쇄 작업에 사용할 페이지 해상도 수준을 가져오거나 설정합니다.

PageScalingFactor

페이지에서 인쇄 이미지를 확대하거나 축소하는 백분율을 가져오거나 설정합니다.

PagesPerSheet

용지의 한 면에 인쇄되는 페이지 수를 가져오거나 설정합니다.

PagesPerSheetDirection

용지의 한 면에 인쇄되는 여러 페이지의 정렬 방법을 나타내는 값을 가져오거나 설정합니다.

PhotoPrintingIntent

사진 인쇄 시 사용할 품질 수준을 품질 용어로 나타내는 값을 가져오거나 설정합니다.

Stapling

프린터에서 여러 페이지를 스테이플링하는지 여부와 그 위치를 나타내는 값을 가져오거나 설정합니다.

TrueTypeFontMode

프린터에서 트루타입 글꼴이 사용된 텍스트를 처리하는 방법을 나타내는 값을 가져오거나 설정합니다.

메서드

Clone()

이 개체 값의 전체 복사본을 만들어 이 PrintTicket의 수정 가능한 복제본을 만듭니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetXmlStream()

인쇄 스키마를 준수하는 XML 스트림으로 PrintTicket 속성 값을 나타내는 MemoryStream 개체를 반환합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
SaveTo(Stream)

인쇄 스키마를 준수하는 XML 형식을 사용하여 PrintTicket 설정을 Stream 개체로 저장합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

이벤트

PropertyChanged

PrintTicket 속성이 변경되면 발생합니다.

적용 대상