PrintCapabilities Sınıf

Tanım

Yazıcının özelliklerini tanımlar.

public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
Devralma
PrintCapabilities

Örnekler

Aşağıdaki örnekte, belirli bir yazıcının özelliklerini belirleme ve yazdırma işini bunlardan yararlanacak şekilde yapılandırma adımları gösterilmektedir.

// ---------------------- 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çıklamalar

PrintCapabilities Nesne, PrintCapabilities belgesi olarak adlandırılan belirli bir XML belgesi türünün temsiliyle çalışması kolay bir belgedir. İkincisi, yazıcının tüm özelliklerinin ve geçerli ayarlarının anlık görüntüsüdür. Örneğin, yazıcı renkli yazdırmayı destekliyorsa, belgenin renk çıkışının nasıl işlendiğini belirleyen bir <PageOutputColor … > öğesi olur. öğesi de nesnenin OutputColorCapabilityPrintCapabilities özelliğiyle temsil edilir. Yazıcı rengi desteklemiyorsa, belgede öğe yoktur <PageOutputColor … > ve özelliğinin OutputColorCapability değeri olur null. PrintCapabilities belgesi Yazdırma Şemasına uygun olmalıdır.

sınıfı, PrintCapabilities uygulamanızın XML Stream nesnelerinin doğrudan okumasına gerek kalmadan bir yazıcının özelliklerini almasını sağlar.

Hem ev hem de iş için dosya ve fotoğraf yazıcılarının en popüler özelliklerinin tümü sınıf tarafından PrintCapabilities kapsüllenir. Ancak Yazdırma Şeması çok daha fazla, daha az yaygın ve özellik tanımlar ve özel yazdırma cihazlarının özelliklerini işlemek için genişletilebilir. Bu nedenle, ve PrintCapabilities sınıfları devralınamasa daPrintTicket, veya PrintCapabilities sınıflarında hesaba bağlanmayan yazdırma cihazı özelliklerini tanımak için Yazdırma ŞemasınıPrintTicket genişletebilirsiniz.

NotPrintCapabilities Nesne printCapabilities belgesi (olarak Stream) parametresini alan oluşturucuyla oluşturulduğunda, bu belgenin tamamı nesnedeki genel olmayan bir alanda depolanır ve içindeki XML öğeleri sınıfın ortak özelliklerinden PrintCapabilities herhangi biriyle temsil edilmeyen daha az ortak özellikleri ifade eder. Aslında, PrintCapabilities belgesini oluşturan sürücü Yazdırma Şemasının özel bir uzantısını kullanıyorsa, özel olarak tanımlanan işaretleme de genel olmayan PrintCapabilities belgesinin bir parçası olarak depolanır.

Dikkat

Ad alanı içindeki System.Printing sınıflar bir Windows hizmeti veya ASP.NET uygulaması ya da hizmeti içinde kullanılmak üzere desteklenmez. Bu sınıfları bu uygulama türlerinden birinin içinden kullanmaya çalışmak, hizmet performansının azalması ve çalışma zamanı özel durumları gibi beklenmeyen sorunlara neden olabilir.

Windows Forms bir uygulamadan yazdırmak istiyorsanız ad alanına System.Drawing.Printing bakın.

Oluşturucular

PrintCapabilities(Stream)

Yazıcı özelliklerini belirten ve XML Yazdırma Şeması ile uyumlu bir XML akışı (PrintCapabilities belgesi içeren) kullanarak sınıfının yeni bir örneğini PrintCapabilities başlatır.

Özellikler

CollationCapability

Bir yazıcının harmanlama özelliklerini tanımlayan bir değer koleksiyonu alır.

DeviceFontSubstitutionCapability

Bir yazıcının bilgisayar tabanlı yazı tipleri için cihaz tabanlı yazı tiplerini değiştirip değiştiremeyeceğini ve nasıl değiştirebileceğini tanımlayan bir değer koleksiyonu alır.

DuplexingCapability

Yazıcının çift taraflı yazdırmayı gerçekleştirip gerçekleştiremeyeceğini ve nasıl gerçekleştirebileceğini tanımlayan bir değer koleksiyonu alır.

InputBinCapability

Hangi giriş kutusunun (kağıt tepsisi) kullanıldığını belirten bir değer koleksiyonu alır.

MaxCopyCount

Cihazın tek bir yazdırma işinde yazdırabileceği en fazla kopya sayısını belirten bir değer alır.

OrientedPageMediaHeight

Sayfadaki görüntülenebilir alanın yüksekliğini belirten bir değer alır; burada yükseklik, sayfanın yönlendirmesine göre dikey boyut anlamına gelir.

OrientedPageMediaWidth

Sayfadaki görüntülenebilir alanın genişliğini belirten bir değer alır; burada genişlik, sayfanın yönlendirmesine göre yatay boyut anlamına gelir.

OutputColorCapability

Yazıcının rengi ve gri tonlarıyla içeriği yazdırma yollarını belirten bir değer koleksiyonu alır.

OutputQualityCapability

Yazıcının desteklediği çıkış kalitesi türlerini gösteren bir değer koleksiyonu alır.

PageBorderlessCapability

Yazıcının medyanın kenarına yazdırıp yazdıramayacağını gösteren bir değer koleksiyonu alır.

PageImageableArea

Yazıcının kullanabileceği bir sayfanın alanını temsil eden bir nesne alır.

PageMediaSizeCapability

Yazıcının PageMediaSize desteklediği kağıt ve medya boyutlarını tanımlayan nesne koleksiyonunu alır.

PageMediaTypeCapability

Yazıcının desteklediği kağıt türlerini ve diğer medyaları tanımlayan bir değer koleksiyonu alır.

PageOrderCapability

Yazıcının birden çok sayfalı belgeleri önden arkaya, arkadan öne veya her iki yoldan da yazdırıp yazdıramayacağını gösteren bir değer koleksiyonu alır.

PageOrientationCapability

Yazıcının desteklediği sayfa yönlendirme türlerini tanımlayan bir değer koleksiyonu alır.

PageResolutionCapability

Yazıcının PageResolution hangi sayfa çözünürlüğü düzeylerini desteklediğini tanımlayan bir nesne koleksiyonu alır.

PageScalingFactorRange

Yazıcının sayfadaki yazdırma görüntüsünü büyütebileceği veya azaltabileceği en yüksek ve en düşük yüzdeleri alır.

PagesPerSheetCapability

Her biri bir kağıdın tek bir tarafına yazdırmak için kullanıcının seçebileceği sayfa sayısını tanımlayan tamsayı koleksiyonunu alır.

PagesPerSheetDirectionCapability

Bir yazıcının kağıdın tek bir tarafında birden çok sayfa sunmak için hangi desenleri desteklediğini tanımlayan bir değer koleksiyonu alır.

PhotoPrintingIntentCapability

Yazıcının fotoğrafları yazdırmak için desteklediği kalite seçeneklerini tanımlayan bir değer koleksiyonu alır.

StaplingCapability

Yazıcının desteklediği otomatik zımbalama türlerini tanımlayan bir değer koleksiyonu alır.

TrueTypeFontModeCapability

Yazıcının TrueType yazı tiplerini işlemek için desteklediği yöntemleri tanımlayan bir değer koleksiyonu alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır