Aracılığıyla paylaş


PrintTicket Sınıf

Tanım

Yazdırma işinin ayarlarını tanımlar.

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
Devralma
PrintTicket
Uygulamalar

Ö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

PrintTicket Nesne, PrintTicket belgesi olarak adlandırılan belirli bir XML belgesi türünün gösterimiyle çalışması kolay bir nesnedir. İkincisi, yazıcıya çeşitli özelliklerini (çift yönlü, harmanlama ve zımbalama gibi) nasıl ayarlayacağını söyleyen bir yönerge kümesidir. Örneğin, yazıcıya zımbalama ve zımbalama işlerini sol üst köşede açmasını bildirmek için, belgede StapleTopLeft öğesini belirten bir <JobStapleAllDocuments … > öğesi olur. öğesi de nesnenin StaplingPrintTicket özelliğiyle temsil edilir. PrintTicket belgesi , Yazdırma Şemasına uygun olmalıdır.

sınıfı, PrintTicket uygulamanızın XML Stream nesnelerini doğrudan yazmak zorunda kalmadan yazıcının özelliklerini yapılandırmasına olanak tanır.

Ev ve iş dosyası ve fotoğraf yazıcılarının en popüler özelliklerinin tümü sınıfın PrintTicket özellikleriyle temsil edilir. 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. Daha fazla bilgi için bkz . Nasıl yapılır: Yazdırma Şemasını Genişletme ve Yeni Yazdırma Sistemi Sınıfları Oluşturma.

NotPrintTicket Nesne, PrintTicket belgesi (olarak Stream) parametresini alan oluşturucuyla oluşturulduğunda, bu belgenin tamamı, sınıfın genel özelliklerinden PrintTicket 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, PrintTicket 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 PrintTicket 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
PrintTicket()

PrintTicket sınıfının yeni bir örneğini başlatır.

PrintTicket(Stream)

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

Özellikler

Name Description
Collation

Yazıcının çıkışını harmanlayıp harmanlamadığını belirten bir değer alır veya ayarlar.

CopyCount

Yazdırma işi için kopya sayısını alır veya ayarlar.

DeviceFontSubstitution

Yazıcının, yazdırma işinde bilgisayar tabanlı yazı tipleri için cihaz tabanlı yazı tiplerinin yerini alıp almadığını belirten bir değer alır veya ayarlar.

Duplexing

Yazıcının yazdırma işi için kullandığı iki taraflı yazdırma türünü belirten bir değer alır veya ayarlar.

InputBin

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

OutputColor

Yazıcının renk veya gri tonlarına sahip içeriği nasıl işlediğini gösteren bir değer alır veya ayarlar.

OutputQuality

Yazdırma işi için çıktının kalitesini gösteren bir değer alır veya ayarlar.

PageBorderless

Cihazın medyanın kenarına içerik yazdırdığını veya kenar çevresinde yazdırılmamış bir kenar boşluğu bıraktığını belirten bir değer alır veya ayarlar.

PageMediaSize

Yazıcının yazdırma işi için kullandığı kağıdın (veya diğer medyanın) sayfa boyutunu alır veya ayarlar.

PageMediaType

Yazıcının yazdırma işi için ne tür kağıt veya medya kullandığını gösteren bir değer alır veya ayarlar.

PageOrder

Yazıcının birden çok sayfayı önden öne mi yoksa önden arkaya mı yazdırdığını belirten bir değer alır veya ayarlar.

PageOrientation

Sayfa içeriğinin yazdırma için nasıl yönlendirildiğini gösteren bir değer alır veya ayarlar.

PageResolution

Yazıcının yazdırma işi için kullandığı sayfa çözünürlüğü düzeyini alır veya ayarlar.

PageScalingFactor

Yazıcının sayfadaki yazdırma görüntüsünü büyütme veya azaltma yüzdesini alır veya ayarlar.

PagesPerSheet

Bir kağıdın her yazdırılan tarafına yazdırılan sayfa sayısını alır veya ayarlar.

PagesPerSheetDirection

Yazıcının bir kağıdın her tarafına yazdıran birden çok sayfayı nasıl düzenlediğini gösteren bir değer alır veya ayarlar.

PhotoPrintingIntent

Nitel terimlerde yazıcının fotoğraf yazdırmak için kullandığı kalite düzeyini belirten bir değer alır veya ayarlar.

Stapling

Yazıcının birden çok sayfayı zımbalayıp zımbalayıp zımbalamadığını ve nerede olduğunu belirten bir değer alır veya ayarlar.

TrueTypeFontMode

Yazıcının TrueType yazı tiplerini kullanan metni nasıl işlediğini gösteren bir değer alır veya ayarlar.

Yöntemler

Name Description
Clone()

Bu PrintTicketnesnenin değerlerinin derin kopyalarını oluşturarak bu öğesinin değiştirilebilir bir kopyasını oluşturur.

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)
GetXmlStream()

MemoryStream Bir öğesinin özellik değerlerini, Yazdırma ŞemasınaPrintTicket uygun bir XML akışı olarak temsil eden bir nesne döndürür.

MemberwiseClone()

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

(Devralındığı yer: Object)
SaveTo(Stream)

Yazdırma ŞemasınaPrintTicket uygun bir XML biçimi kullanarak ayarları bir Stream nesneye kaydeder.

ToString()

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

(Devralındığı yer: Object)

Ekinlikler

Name Description
PropertyChanged

Değişikliklerin herhangi bir özelliği PrintTicket olduğunda gerçekleşir.

Şunlara uygulanır