Udostępnij za pośrednictwem


PrintTicket Klasa

Definicja

Definiuje ustawienia zadania drukowania.

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
Dziedziczenie
PrintTicket
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak określić możliwości określonej drukarki i jak skonfigurować zadanie drukowania w celu ich wykorzystania.

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

Uwagi

PrintTicket Obiekt jest łatwym do pracy reprezentacją określonego typu dokumentu XML o nazwie dokument PrintTicket. Ten ostatni jest zestawem instrukcji informujących drukarkę, jak ustawić jego różne funkcje (takie jak dupleksowanie, sortowanie i odszycie). Na przykład, aby poinstruować drukarkę, aby włączyć swoje zszywki i zszywka zadań drukowania w lewym górnym rogu, dokument będzie miał <JobStapleAllDocuments … > element, który określa StapleTopLeft. Element jest z kolei reprezentowany przez Stapling właściwość PrintTicket obiektu. Dokument PrintTicket musi być zgodny ze schematem wydruku.

Klasa PrintTicket umożliwia aplikacji konfigurowanie funkcji drukarki bez konieczności angażowania się w bezpośrednie pisanie obiektów XML Stream .

Wszystkie najbardziej popularne funkcje plików domowych i firmowych i drukarek fotograficznych są reprezentowane przez właściwości PrintTicket klasy. Schemat wydruku definiuje jednak wiele innych, mniej typowych funkcji i można ją rozszerzyć, aby obsługiwać funkcje specjalnych urządzeń do drukowania. W związku z tym, mimo że PrintTicket klasy i PrintCapabilities nie mogą być dziedziczone, można rozszerzyć schemat wydruku , aby rozpoznawać funkcje urządzeń wydruku, które nie są uwzględniane w PrintTicket klasach lub PrintCapabilities . Aby uzyskać więcej informacji, zobacz How to: Extend the Print Schema and Create New Print System Classes (Instrukcje: rozszerzanie schematu wydruku) i Create New Print System Classes (Tworzenie nowych klas systemu drukowania).

Uwaga Po utworzeniu PrintTicket obiektu za pomocą konstruktora, który przyjmuje dokument PrintTicket (jako Streamparametr ), cały dokument jest przechowywany w polu innym niż publiczny w obiekcie, w tym elementy XML w nim, które wyrażają mniej typowe funkcje, które nie są reprezentowane przez żadne z publicznych właściwości PrintTicket klasy. W rzeczywistości, jeśli sterownik, który wyprodukował dokument PrintTicket, korzysta z prywatnego rozszerzenia schematu wydruku, ten prywatnie zdefiniowany znacznik jest również przechowywany jako część dokumentu innego niż publiczny PrintTicket.

Przestroga

Klasy w System.Printing przestrzeni nazw nie są obsługiwane do użycia w usłudze systemu Windows lub ASP.NET aplikacji lub usługi. Próba użycia tych klas z jednego z tych typów aplikacji może powodować nieoczekiwane problemy, takie jak zmniejszona wydajność usługi i wyjątki czasu wykonywania.

Jeśli chcesz wydrukować z aplikacji Windows Forms, zobacz System.Drawing.Printing przestrzeń nazw.

Konstruktory

PrintTicket()

Inicjuje nowe wystąpienie klasy PrintTicket.

PrintTicket(Stream)

Inicjuje PrintTicket nowe wystąpienie klasy przy użyciu strumienia XML (zawierającego dokument PrintTicket), który jest zgodny ze schematem drukowania XML.

Właściwości

Collation

Pobiera lub ustawia wartość wskazującą, czy drukarka sortuje jego dane wyjściowe.

CopyCount

Pobiera lub ustawia liczbę kopii zadania drukowania.

DeviceFontSubstitution

Pobiera lub ustawia wartość wskazującą, czy drukarka zastępuje czcionki oparte na urządzeniu dla czcionek opartych na komputerze w zadaniu drukowania.

Duplexing

Pobiera lub ustawia wartość wskazującą rodzaj drukowania dwustronnego, jeśli istnieje, drukarka używa do zadania drukowania.

InputBin

Pobiera lub ustawia wartość wskazującą, jakiego pojemnika wejściowego (zasobnika papieru) należy użyć.

OutputColor

Pobiera lub ustawia wartość wskazującą, jak drukarka obsługuje zawartość, która ma kolor lub odcienie szarości.

OutputQuality

Pobiera lub ustawia wartość wskazującą jakość danych wyjściowych zadania drukowania.

PageBorderless

Pobiera lub ustawia wartość wskazującą, czy urządzenie drukuje zawartość na krawędzi nośnika, czy pozostawia niezadrukowany margines wokół krawędzi.

PageMediaSize

Pobiera lub ustawia rozmiar strony papieru (lub innego nośnika), którego drukarka używa do zadania drukowania.

PageMediaType

Pobiera lub ustawia wartość wskazującą rodzaj papieru lub nośnika używanego przez drukarkę do zadania drukowania.

PageOrder

Pobiera lub ustawia wartość wskazującą, czy drukarka drukuje wiele stron z tyłu do przodu, czy z przodu do tyłu.

PageOrientation

Pobiera lub ustawia wartość wskazującą, jak zawartość strony jest zorientowana na drukowanie.

PageResolution

Pobiera lub ustawia poziom rozdzielczości strony używany przez drukarkę do zadania drukowania.

PageScalingFactor

Pobiera lub ustawia wartość procentową, za pomocą której drukarka powiększa lub zmniejsza obraz wydruku na stronie.

PagesPerSheet

Pobiera lub ustawia liczbę stron wydrukowanych po każdej stronie drukowanej arkusza papieru.

PagesPerSheetDirection

Pobiera lub ustawia wartość wskazującą, jak drukarka rozmieszcza wiele stron drukowanych po każdej stronie arkusza papieru.

PhotoPrintingIntent

Pobiera lub ustawia wartość wskazującą w kategoriach jakościowych używanych przez drukarkę do drukowania zdjęcia.

Stapling

Pobiera lub ustawia wartość wskazującą, czy drukarka zszywa wiele stron.

TrueTypeFontMode

Pobiera lub ustawia wartość wskazującą sposób obsługi tekstu przez drukarkę, który używa czcionek TrueType.

Metody

Clone()

Tworzy modyfikowalny klon tego PrintTicketobiektu , tworząc głębokie kopie wartości tego obiektu.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetXmlStream()

MemoryStream Zwraca obiekt reprezentujący wartości PrintTicket właściwości strumienia XML zgodnego ze schematem wydruku.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SaveTo(Stream)

PrintTicket Zapisuje ustawienia w Stream obiekcie przy użyciu formatu XML zgodnego ze schematem wydruku.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

PropertyChanged

Występuje, gdy dowolna PrintTicket właściwość zmian.

Dotyczy