Aracılığıyla paylaş


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 gösterimiyle çalışması kolay bir nesnedir. İ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şleneceğ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 xml nesnelerinin doğrudan okunmasıyla ilgilenmek zorunda kalmadan uygulamanızın bir yazıcının Stream ö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 olan özellikleri 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 katılmayan 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ı, sınıfın genel özelliklerinden PrintCapabilities herhangi biri tarafından temsil edilmeyen daha az ortak özellikleri ifade eden xml öğeleri de dahil olmak üzere nesnedeki genel olmayan bir alanda depolanır. Aslında, PrintCapabilities belgesini oluşturan sürücü Yazdırma Şemasının özel bir uzantısını kullanıyorsa, bu özel tanımlı 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 uygulama veya hizmet içinde kullanılmak üzere desteklenmez. Bu uygulama türlerinden birinin içinden bu sınıfları kullanmaya çalışmak, hizmet performansının ve çalışma zamanı özel durumlarının azalması gibi beklenmeyen sorunlara neden olabilir.

Bir Windows Forms uygulamasından yazdırmak istiyorsanız ad alanına System.Drawing.Printing bakın.

Oluşturucular

Name Description
PrintCapabilities(Stream)

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

Özellikler

Name Description
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 belirleyen bir değer koleksiyonu alır.

DuplexingCapability

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

InputBinCapability

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

MaxCopyCount

Cihazın tek bir yazdırma işinde yazdırabileceği maksimum kopya sayısını gösteren 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

Bir yazıcının renkleri ve gri tonlarıyla içerik 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 kadar 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 bir nesne koleksiyonu alır.

PageMediaTypeCapability

Yazıcının hangi kağıt türlerini ve diğer medyaları desteklediğini 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 hangi sayfa yönlendirme türlerini desteklediğini 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 bir tamsayı koleksiyonu alır.

PagesPerSheetDirectionCapability

Bir yazıcının bir kağıt sayfasını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

Name Description
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()

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

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır