다음을 통해 공유


PrintCapabilities 클래스

정의

프린터 기능을 정의합니다.

public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
상속
PrintCapabilities

예제

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

// ---------------------- 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 PrintCapabilities 개체는 호출 하는 XML 문서의 특정 형식의 쉬운-에-작업-사용 하 여 표현 된 PrintCapabilities 문서가합니다. 후자는 프린터의 기능 및 현재 설정의 모든 스냅샷입니다. 예를 들어, 프린터에서 컬러 인쇄를 지 원하는 경우 다음 문서는 것을 <PageOutputColor … > 색 출력 처리 되는 방식을 설정 하는 요소입니다. 요소를 나타내는 차례로 합니다 OutputColorCapability 의 속성을 PrintCapabilities 개체입니다. 프린터 색을 지원 하지 않습니다 경우는 없습니다 <PageOutputColor … > 문서 및 값 요소에는 OutputColorCapability 속성은 null합니다. PrintCapabilities 문서가 준수 해야 합니다 Print Schema합니다.

합니다 PrintCapabilities 클래스를 사용 하면 XML의 직접 읽을 신경 쓸 필요 없이 프린터 기능을 얻으려면 애플리케이션 Stream 개체입니다.

홈 및 비즈니스에 대 한 파일 및 사진 프린터의 가장 인기 있는 기능을 모두 캡슐화 되는 PrintCapabilities 클래스입니다. 하지만 Print Schema 더 많은 정의 일반적이 지 기능 하며 확장할 수 있습니다는 특수 인쇄 디바이스의 기능을 처리 합니다. 따라서 있지만 합니다 PrintTicketPrintCapabilities 클래스를 상속할 수 없습니다, 확장할 수 있습니다는 인쇄 스키마 에서 처리 하지 않은 인쇄 디바이스 기능을 인식 하는 PrintTicket 또는 PrintCapabilities 클래스입니다.

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

주의

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

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

생성자

PrintCapabilities(Stream)

프린터 기능을 지정하고 XML 인쇄 스키마를 따르는 XML 스트림(PrintCapabilities 문서가 포함된 스트림)을 사용하여 PrintCapabilities 클래스의 새 인스턴스를 초기화합니다.

속성

CollationCapability

한 부씩 인쇄하는 프린터 기능을 식별하는 값 컬렉션을 가져옵니다.

DeviceFontSubstitutionCapability

프린터에서 컴퓨터 기반 글꼴을 디바이스 기반 글꼴로 대체할 수 있는지 여부와 그 방법을 식별하는 값 컬렉션을 가져옵니다.

DuplexingCapability

양면 인쇄가 가능한지 여부와 그 방법을 식별하는 값 컬렉션을 가져옵니다.

InputBinCapability

사용되는 입력함(용지함)을 나타내는 값 컬렉션을 가져옵니다.

MaxCopyCount

디바이스에서 단일 인쇄 작업으로 인쇄할 수 있는 최대 매수를 나타내는 값을 가져옵니다.

OrientedPageMediaHeight

페이지의 인쇄 허용 영역 높이를 나타내는 값을 가져옵니다. 여기서 높이란 페이지 방향을 기준으로 한 세로 크기를 의미합니다.

OrientedPageMediaWidth

페이지의 인쇄 허용 영역 너비를 나타내는 값을 가져옵니다. 여기서 너비란 페이지 방향을 기준으로 한 가로 크기를 의미합니다.

OutputColorCapability

컬러 및 회색 음영으로 콘텐츠를 인쇄하는 방법을 지정하는 값 컬렉션을 가져옵니다.

OutputQualityCapability

프린터가 지원하는 출력 품질의 유형을 나타내는 값 컬렉션을 가져옵니다.

PageBorderlessCapability

미디어의 가장자리까지 인쇄할 수 있는지 여부를 나타내는 값 컬렉션을 가져옵니다.

PageImageableArea

프린터에서 사용할 수 있는 페이지 영역을 나타내는 개체를 가져옵니다.

PageMediaSizeCapability

프린터가 지원하는 용지 및 미디어 크기를 식별하는 PageMediaSize 개체의 컬렉션을 가져옵니다.

PageMediaTypeCapability

프린터가 지원하는 용지 및 기타 미디어 유형을 식별하는 값 컬렉션을 가져옵니다.

PageOrderCapability

여러 페이지 문서를 앞에서 뒤로, 뒤에서 앞으로 또는 두 방식 모두로 인쇄할 수 있는지 여부를 나타내는 값 컬렉션을 가져옵니다.

PageOrientationCapability

프린터가 지원하는 페이지 방향 유형을 식별하는 값 컬렉션을 가져옵니다.

PageResolutionCapability

프린터가 지원하는 용지 해상도 수준을 식별하는 PageResolution 개체의 컬렉션을 가져옵니다.

PageScalingFactorRange

페이지의 인쇄 이미지를 확대하거나 축소할 수 있는 최대 및 최소 백분율을 가져옵니다.

PagesPerSheetCapability

용지 한 면에 인쇄할 수 있는 페이지 수를 지정하는 정수 컬렉션을 가져옵니다.

PagesPerSheetDirectionCapability

용지 한 면에 여러 페이지를 인쇄하기 위해 지원되는 패턴을 식별하는 값 컬렉션을 가져옵니다.

PhotoPrintingIntentCapability

사진을 인쇄하기 위해 지원되는 품질 옵션을 식별하는 값 컬렉션을 가져옵니다.

StaplingCapability

프린터가 지원하는 자동 스테이플링 유형을 식별하는 값 컬렉션을 가져옵니다.

TrueTypeFontModeCapability

트루타입 글꼴을 처리하기 위해 지원되는 메서드를 식별하는 값 컬렉션을 가져옵니다.

메서드

Equals(Object)

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

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

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

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

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

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

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

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

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

(다음에서 상속됨 Object)

적용 대상