PrintCapabilities Sınıf

Tanım

Bir yazıcının yeteneklerini tanımlar.Defines the capabilities of a printer.

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

Örnekler

Aşağıdaki örnek, belirli bir yazıcının yeteneklerini belirlemeyi ve bir yazdırma işinin bunlardan faydalanmak için nasıl yapılandırılacağını gösterir.The following example shows how to determine the capabilities of a specific printer and how to 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^ printCapabilites = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilites->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilites->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilites->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 printCapabilites = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilites.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilites.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilites.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 printCapabilites As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilites.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilites.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Açıklamalar

Bir PrintCapabilities nesne, PrintCapabilities belgesiolarak ADLANDıRıLAN belirli bir XML belgesi türünün kullanımı kolay bir gösterimidir.A PrintCapabilities object is an easy-to-work-with representation of a certain type of XML document called a PrintCapabilities document. İkincisi, tüm yazıcıların özelliklerine ve geçerli ayarlarına ait bir anlık görüntüdür.The latter is a snapshot of all of a printer's capabilities and their current settings. Örneğin, yazıcı renkli yazdırmayı destekliyorsa, belgenin <PageOutputColor … > renk çıktısının nasıl işleneceğini ayarlayan bir öğesi olur.For example, if the printer supports color printing, then the document would have a <PageOutputColor … > element that sets out how color output will be handled. Öğesi, nesnenin özelliği tarafından temsil edilen sırayla OutputColorCapability PrintCapabilities .The element is, in turn, represented by the OutputColorCapability property of the PrintCapabilities object. Yazıcı rengi desteklemiyorsa, <PageOutputColor … > belgede hiçbir öğe yoktur ve OutputColorCapability özelliğin değeri olur null .If the printer does not support color, then there is no <PageOutputColor … > element in the document and the value of the OutputColorCapability property is null. PrintCapabilities belgesi, yazdırma şemasınauygun olmalıdır.The PrintCapabilities document must conform to the Print Schema.

PrintCapabilitiesSınıfı, uygulamanızın tüm XML nesnelerini doğrudan okumada gerek duymadan bir yazıcının yeteneklerini elde etmesini sağlar Stream .The PrintCapabilities class enables your application to obtain a printer's capabilities without having to engage in any direct reading of XML Stream objects.

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 kapsüllenir PrintCapabilities .All of the most popular features of file and photo printers, for both home and business, are encapsulated by the PrintCapabilities class. Ancak, yazdırma şeması çok daha az ortak olan özellikleri tanımlar ve özel yazdırma cihazlarının özelliklerini işlemek için genişletilebilir.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Bu nedenle, PrintTicket ve PrintCapabilities sınıfları devralınmasa da, veya sınıflarında için hesaba katılmaz olan yazdırma aygıtı özelliklerini tanımak Için Yazdırma şemasını genişletebilirsiniz PrintTicket PrintCapabilities .So, 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.

Göz önünde PrintCapabilitiesNesne bir PrintCapabilities belgesi (as) parametresi alan Oluşturucu ile oluşturulduğunda Stream , bu BELGENIN tamamındaki XML öğeleri de dahil olmak üzere, sınıfın ortak özelliklerinden herhangi biri tarafından temsil edilmeyen daha az ortak özellikler de dahil olmak üzere tüm belge, nesnede genel olmayan bir alanda saklanır PrintCapabilities .Note When the PrintCapabilities object is created with the constructor that takes a PrintCapabilities document (as a Stream) parameter, that entire document is stored in a non-public field in the object, including the XML elements within it that express less common features that are not represented by any of the public properties of the PrintCapabilities class. Aslında, PrintCapabilities belgesini üreten sürücü yazdırma şemasınınözel bir uzantısını kullanıyorsa, özel olarak tanımlanmış biçimlendirme de genel olmayan PrintCapabilities belgesinin bir parçası olarak depolanır.In fact, if the driver that produced the PrintCapabilities document is using a private extension of the Print Schema, that privately defined markup is also stored as part of the non-public PrintCapabilities document.

Dikkat

System.PrintingAd alanı içindeki sınıflar bir Windows hizmeti veya ASP.NET uygulaması ya da hizmeti içinde kullanım için desteklenmez.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Bu uygulama türlerinden biri içinden bu sınıfların kullanılmaya çalışılması, azalmayan hizmet performansı ve çalışma zamanı özel durumları gibi beklenmedik sorunlar oluşturabilir.Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.

Bir Windows Forms uygulamasından yazdırmak istiyorsanız, bkz System.Drawing.Printing . ad alanı.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Oluşturucular

PrintCapabilities(Stream)

PrintCapabilitiesYazıcı özelliklerini belirten ve XML yazdırma şemasıylauyumlu bir xml akışı (PrintCapabilities belgesi içeren) kullanarak sınıfının yeni bir örneğini başlatır.Initializes a new instance of the PrintCapabilities class by using an XML stream (that contains a PrintCapabilities document) that specifies printer capabilities and complies with the XML Print Schema.

Özellikler

CollationCapability

Bir yazıcının harmanlama yeteneklerini tanımlayan bir değerler koleksiyonunu alır.Gets a collection of values that identify the collation capabilities of a printer.

DeviceFontSubstitutionCapability

Bir yazıcının bilgisayar tabanlı yazı tipleri için cihaz tabanlı yazı tiplerini nasıl kullanıp kullanamayacağını belirleyen değerlerin bir koleksiyonunu alır.Gets a collection of values that identify whether and how a printer can substitute device-based fonts for computer-based fonts.

DuplexingCapability

Bir yazıcının iki taraflı yazdırma gerçekleştirip gerçekleştiremeyeceğini ve nasıl yapılacağını belirleyen bir değerler koleksiyonu alır.Gets a collection of values that identify whether and how a printer can perform two-sided printing.

InputBinCapability

Hangi giriş bin (kağıt tepsisi) kullanıldığını gösteren değerlerin bir koleksiyonunu alır.Gets a collection of values that indicate what input bin (paper tray) is used.

MaxCopyCount

Cihazın tek bir yazdırma işinde yazdırabileceğiniz en fazla kopya sayısını gösteren bir değer alır.Gets a value indicating the maximum number of copies that the device can print in a single print job.

OrientedPageMediaHeight

Bir sayfada 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 boyutun anlamı anlamına gelir.Gets a value indicating the height of the imageable area on a page, where height means the vertical dimension relative to the page's orientation.

OrientedPageMediaWidth

Sayfada görüntülenebilir alanın genişliğini gösteren bir değer alır. burada genişlik, sayfanın yönlendirmesine göre yatay boyutun anlamı anlamına gelir.Gets a value indicating the width of the imageable area on a page, where width means the horizontal dimension relative to the page's orientation.

OutputColorCapability

Bir yazıcının renk ve gri gölgelerle içerik yazdırabileceği yolları belirleyen değerlerin bir koleksiyonunu alır.Gets a collection of values that specify the ways in which a printer can print content with color and shades of gray.

OutputQualityCapability

Yazıcının desteklediği çıkış kalitesi türlerini gösteren değerlerin bir koleksiyonunu alır.Gets a collection of values that indicate the types of output quality the printer supports.

PageBorderlessCapability

Yazıcının ortamın kenarına yazdırıp yazdıramayacağını belirten bir değer koleksiyonu alır.Gets a collection of values that indicate whether the printer can print up to the edge of the media.

PageImageableArea

Yazıcının kullanabileceği bir sayfanın alanını temsil eden bir nesne alır.Gets an object that represents the area of a page that the printer can use.

PageMediaSizeCapability

PageMediaSizeBir yazıcının desteklediği kağıt ve medya boyutlarını belirleyen bir nesne koleksiyonu alır.Gets a collection of PageMediaSize objects that identify the paper and media sizes that a printer supports.

PageMediaTypeCapability

Bir yazıcının desteklediği kağıt ve diğer medya türlerini belirleyen değerlerin bir koleksiyonunu alır.Gets a collection of values that identify what types of paper and other media a printer supports.

PageOrderCapability

Bir yazıcının, önden arkaya, baştan sona veya her iki şekilde birden çok sayfalı belge yazdırma yeteneğine sahip olup olmadığını belirten bir değer koleksiyonu alır.Gets a collection of values that indicate whether a printer is capable of printing multiple-page documents from front-to-back, back-to-front, or both ways.

PageOrientationCapability

Bir yazıcının desteklediği sayfa yönü türlerini belirleyen değerlerin bir koleksiyonunu alır.Gets a collection of values that identify what types of page orientation a printer supports.

PageResolutionCapability

PageResolutionYazıcının desteklediği sayfa çözünürlüğü düzeylerini belirleyen bir nesne koleksiyonu alır.Gets a collection of PageResolution objects that identify what levels of page resolution the printer supports.

PageScalingFactorRange

Bir yazıcının bir sayfadaki yazdırma görüntüsünü büyüerek veya azaltabileceği maksimum ve en düşük yüzdeleri alır.Gets the maximum and minimum percentages by which a printer can enlarge or reduce the print image on a page.

PagesPerSheetCapability

Bir kullanıcının bir kağıt yaprağının tek tarafında yazdırılmasını seçebileceğini sayfaların sayısını tanımlayan tamsayılar koleksiyonunu alır.Gets a collection of integers, each identifying the number of pages that a user can choose to print on a single side of a sheet of paper.

PagesPerSheetDirectionCapability

Bir yazıcının bir kağıt yaprağının tek tarafında birden çok sayfa sunmak için desteklediği desenleri belirleyen bir değer koleksiyonu alır.Gets a collection of values that identify what patterns a printer supports for presenting multiple pages on a single side of a sheet of paper.

PhotoPrintingIntentCapability

Yazıcının fotoğrafları yazdırmak için desteklediği kalite seçeneklerini belirleyen bir değer koleksiyonu alır.Gets a collection of values that identify the quality options the printer supports for printing photographs.

StaplingCapability

Bir yazıcının desteklediği otomatik zımbalama türlerini belirleyen değerlerin bir koleksiyonunu alır.Gets a collection of values that identify the types of automatic stapling that a printer supports.

TrueTypeFontModeCapability

Bir yazıcının, TrueType yazı tiplerini işlemek için desteklediği yöntemleri tanımlayan değerlerin bir koleksiyonunu alır.Gets a collection of values that identify the methods that a printer supports for handling TrueType fonts.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

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

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

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

TypeGeçerli örneği alır.Gets the Type of the current instance.

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

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

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

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)

Şunlara uygulanır