PrintTicket PrintTicket PrintTicket PrintTicket Class

Definition

Definiert die Einstellungen eines Druckauftrags.Defines the settings of a print job.

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
Vererbung
PrintTicketPrintTicketPrintTicketPrintTicket
Implementiert

Beispiele

Im folgenden Beispiel wird gezeigt, wie die Funktionen eines bestimmten Druckers bestimmt werden und wie ein Druckauftrag konfiguriert wird, um ihn zu nutzen.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()

Hinweise

Ein PrintTicket -Objekt ist eine einfach zu bedienende Darstellung eines bestimmten XML-Dokument Typs, das als PrintTicket-Dokumentbezeichnet wird.A PrintTicket object is an easy-to-work-with representation of a certain type of XML document called a PrintTicket document. Letzteres ist ein Satz von Anweisungen, die einem Drucker mitteilen, wie die verschiedenen Features festgelegt werden (z. b. Duplexing, collating und Stapling).The latter is a set of instructions telling a printer how to set its various features (such as duplexing, collating, and stapling). Um z. b. den Drucker anzuweisen, seine Platzhalter-und Stapeldruck Aufträge in der oberen linken Ecke zu aktivieren, enthält <JobStapleAllDocuments … > das Dokument ein-Element, das stapletopleftangibt.For example, to instruct the printer to turn on its stapler and staple print jobs in the upper left corner, the document would have a <JobStapleAllDocuments … > element that specifies StapleTopLeft. Das-Element wird wiederum durch die Stapling -Eigenschaft PrintTicket des-Objekts dargestellt.The element is, in turn, represented by the Stapling property of the PrintTicket object. Das PrintTicket-Dokument muss dem Druck Schemaentsprechen.The PrintTicket document must conform to the Print Schema.

Die PrintTicket -Klasse ermöglicht es Ihrer Anwendung, die Druckerfunktionen zu konfigurieren, ohne sich an das direkte Schreiben von Stream XML-Objekten beteiligen zu müssen.The PrintTicket class enables your application to configure the printer's features without having to engage in any direct writing of XML Stream objects.

Alle beliebtesten Features von Home-und Business-Datei-und Fotodruckern werden durch Eigenschaften der PrintTicket -Klasse dargestellt.All of the most popular features of home and business file and photo printers are represented by properties of PrintTicket the class. Das Druck Schema definiert jedoch viele weitere, weniger häufig genutzte Features und kann so erweitert werden, dass Features von speziellen Druckgeräten behandelt werden.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. PrintTicket Obwohl die-Klasse und die-Klasse nicht vererbt werden können, können Sie das Druck Schema so erweitern, dass Druckgeräte Features erkannt werden, PrintTicket die in der-Klasse oder PrintCapabilities der- PrintCapabilities Klasse nicht berücksichtigt werden.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. Weitere Informationen finden Sie unter Vorgehensweise: Erweitern Sie das Druck Schema, und erstellen Sie neueDruck System Klassen.For more information see How to: Extend the Print Schema and Create New Print System Classes.

Hinweis Wenn das PrintTicket Objekt mit dem Konstruktor erstellt wird, der ein Print Ticket-Dokument ( Streamals Parameter) annimmt, wird das gesamte Dokument in einem nicht öffentlichen Feld im-Objekt gespeichert, einschließlich der darin enthaltenen XML-Elemente, die weniger häufig ausgedrückt werden. Funktionen, die nicht durch eine der öffentlichen Eigenschaften der PrintTicket -Klasse dargestellt werden.Note When the PrintTicket object is created with the constructor that takes a PrintTicket 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 PrintTicket class. Tatsächlich wird, wenn der Treiber, der das PrintTicket-Dokument erstellt hat, eine private Erweiterung des Druck Schemasverwendet, das Privat definierte Markup auch als Teil des nicht öffentlichen PrintTicket-Dokuments gespeichert wird.In fact, if the driver that produced the PrintTicket document is using a private extension of the Print Schema, that privately defined markup is also stored as part of the non-public PrintTicket document.

Achtung

Klassen im- System.Printing Namespace werden nicht für die Verwendung in einem Windows-Dienst oder einer ASP.NET-Anwendung oder einem-Dienst unterstützt.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Der Versuch, diese Klassen innerhalb eines dieser Anwendungs Typen zu verwenden, kann zu unerwarteten Problemen führen, wie z. b. verminderter Dienstleistung und Lauf Zeit Ausnahmen.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.

Wenn Sie aus einer Windows Forms Anwendung drucken möchten, finden Sie weitere System.Drawing.Printing Informationen unter dem-Namespace.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Konstruktoren

PrintTicket() PrintTicket() PrintTicket() PrintTicket()

Initialisiert eine neue Instanz der PrintTicket-Klasse.Initializes a new instance of the PrintTicket class.

PrintTicket(Stream) PrintTicket(Stream) PrintTicket(Stream) PrintTicket(Stream)

Initialisiert eine neue Instanz der PrintTicket-Klasse mit einem XML-Stream (der ein PrintTicket-Dokument enthält), der dem XML-Druckschema entspricht.Initializes a new instance of the PrintTicket class by using an XML stream (that contains a PrintTicket document) that complies with the XML Print Schema.

Eigenschaften

Collation Collation Collation Collation

Ruft einen Wert ab, der angibt, ob der Drucker die Ausgabe sortiert, oder legt diesen fest.Gets or sets a value indicating whether the printer collates its output.

CopyCount CopyCount CopyCount CopyCount

Ruft die Anzahl der Exemplare für den Druckauftrag ab oder legt diese fest.Gets or sets the number of copies for the print job.

DeviceFontSubstitution DeviceFontSubstitution DeviceFontSubstitution DeviceFontSubstitution

Ruft einen Wert ab, der angibt, ob der Drucker computerbasierte Schriftarten im Druckauftrag durch geräteseitige Schriftarten ersetzt, oder legt diesen fest.Gets or sets a value indicating whether the printer substitutes device-based fonts for computer-based fonts on the print job.

Duplexing Duplexing Duplexing Duplexing

Ruft einen Wert ab, der angibt, welche Einstellungen für den doppelseitigen Druck (sofern zutreffend) der Drucker beim aktuellen Druckauftrag verwendet, oder legt diesen fest.Gets or sets a value indicating what kind of two-sided printing, if any, the printer uses for the print job.

InputBin InputBin InputBin InputBin

Ruft einen Wert ab, der angibt, welcher Eingabeschacht verwendet wird, oder legt diesen fest.Gets or sets a value indicating what input bin (paper tray) to use.

OutputColor OutputColor OutputColor OutputColor

Ruft einen Wert ab, der angibt, wie der Drucker Farben oder Graustufen verarbeitet, oder legt diesen fest.Gets or sets a value indicating how the printer handles content that has color or shades of gray.

OutputQuality OutputQuality OutputQuality OutputQuality

Ruft einen Wert ab, der die gewählte Ausgabequalität für den Druckauftrag angibt, oder legt diesen fest.Gets or sets a value indicating the quality of output for the print job.

PageBorderless PageBorderless PageBorderless PageBorderless

Ruft einen Wert ab, der angibt, ob das Gerät bis zum Rand des Druckmediums druckt oder ob ein nicht bedruckbarer Rand freigelassen wird, oder legt diesen fest.Gets or sets a value indicating whether the device prints content to the edge of the media or leaves an unprinted margin around the edge.

PageMediaSize PageMediaSize PageMediaSize PageMediaSize

Ruft die Seitengröße ab, die ein Drucker bei einem Druckauftrag für das ausgewählte Papier (oder ein anderes Druckmedium) verwendet, oder legt diesen fest.Gets or sets the page size for the paper (or other media) that a printer uses for a print job.

PageMediaType PageMediaType PageMediaType PageMediaType

Ruft einen Wert ab, der angibt, welches Papier oder Druckmedium der Drucker für den Druckauftrag verwendet, oder legt diesen fest.Gets or sets a value indicating what sort of paper or media the printer uses for the print job.

PageOrder PageOrder PageOrder PageOrder

Ruft einen Wert ab, der angibt, ob der Drucker mehrere Seiten mit normaler oder umgekehrter Seitenreihenfolge druckt, oder legt diesen fest.Gets or sets a value indicating whether the printer prints multiple pages back-to-front or front-to-back.

PageOrientation PageOrientation PageOrientation PageOrientation

Ruft einen Wert ab, der angibt, mit welcher Ausrichtung der Seiteninhalt gedruckt wird, oder legt diesen fest.Gets or sets a value indicating how the page content is oriented for printing.

PageResolution PageResolution PageResolution PageResolution

Ruft die Seitenauflösung ab, die der Drucker für einen Druckauftrag verwendet, oder legt diesen fest.Gets or sets the level of page resolution that the printer uses for a print job.

PageScalingFactor PageScalingFactor PageScalingFactor PageScalingFactor

Ruft den Prozentsatz ab, auf den der Drucker das gedruckte Bild auf der Seite vergrößert oder verkleinert, oder legt diesen fest.Gets or sets the percentage by which the printer enlarges or reduces the print image on a page.

PagesPerSheet PagesPerSheet PagesPerSheet PagesPerSheet

Ruft die Anzahl von Seiten ab, die auf jeder bedruckten Seite des Papiers ausgegeben werden, oder legt diesen fest.Gets or sets the number of pages that print on each printed side of a sheet of paper.

PagesPerSheetDirection PagesPerSheetDirection PagesPerSheetDirection PagesPerSheetDirection

Ruft einen Wert ab, der angibt, wie ein Drucker mehrere auf eine Blattseite gedruckte Seiten anordnet, oder legt diesen fest.Gets or sets a value indicating how a printer arranges multiple pages that print on each side of a sheet of paper.

PhotoPrintingIntent PhotoPrintingIntent PhotoPrintingIntent PhotoPrintingIntent

Ruft einen Wert ab, der die Ausgabequalität für den Druck eines Fotos mit einem qualitativen Ausdruck angibt, oder legt diesen fest.Gets or sets a value indicating in qualitative terms the level of quality the printer uses to print a photograph.

Stapling Stapling Stapling Stapling

Ruft einen Wert ab, der angibt, ob und an welcher Position ein Drucker mehrere Seiten heftet, oder legt diesen fest.Gets or sets a value indicating whether, and where, a printer staples multiple pages.

TrueTypeFontMode TrueTypeFontMode TrueTypeFontMode TrueTypeFontMode

Ruft ab einen Wert ab, der angibt, wie der Drucker Text verarbeitet, der TrueType-Schriftarten verwendet, oder legt diesen fest.Gets or sets a value indicating how the printer handles text that uses TrueType fonts.

Methoden

Clone() Clone() Clone() Clone()

Erstellt einen änderbaren Klon dieser PrintTicket, indem tiefe Kopien der Werte dieses Objekts erzeugt werden.Creates a modifiable clone of this PrintTicket, making deep copies of this object's values.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
GetXmlStream() GetXmlStream() GetXmlStream() GetXmlStream()

Gibt ein MemoryStream-Objekt zurück, das die Eigenschaftswerte von einem PrintTicket als XML-Stream darstellt, der dem Druckschema entspricht.Returns a MemoryStream object that represents the property values of a PrintTicket as an XML stream that conforms to the Print Schema.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
SaveTo(Stream) SaveTo(Stream) SaveTo(Stream) SaveTo(Stream)

Speichert die PrintTicket-Einstellungen in einem Stream-Objekt mit einem XML-Format, das dem Druckschema entspricht.Saves the PrintTicket settings to a Stream object by using an XML format that conforms to the Print Schema.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Ereignisse

PropertyChanged PropertyChanged PropertyChanged PropertyChanged

Tritt ein, wenn eine Eigenschaft des PrintTicket geändert wird.Occurs when any property of the PrintTicket changes.

Gilt für: