PrintTicket Classe

Définition

Définit les paramètres d'un travail d'impression.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
Héritage
PrintTicket
Implémente

Exemples

L’exemple suivant montre comment déterminer les fonctionnalités d’une imprimante spécifique et comment configurer un travail d’impression pour en tirer parti.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()

Remarques

Un PrintTicket objet est une représentation facile à utiliser d’un certain type de document XML appelé un document PrintTicket.A PrintTicket object is an easy-to-work-with representation of a certain type of XML document called a PrintTicket document. Ce dernier est un ensemble d’instructions indiquant à une imprimante comment définir ses diverses fonctionnalités (par exemple, le duplexage, le classement et l’agrafage).The latter is a set of instructions telling a printer how to set its various features (such as duplexing, collating, and stapling). Par exemple, pour indiquer à l’imprimante d’activer son agrafeuse et d’agrafer les travaux d’impression dans l’angle supérieur gauche, le document a <JobStapleAllDocuments … > un élément qui spécifie StapleTopLeft.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. L’élément est, à son tour, représenté par Stapling la propriété de PrintTicket l’objet.The element is, in turn, represented by the Stapling property of the PrintTicket object. Le document PrintTicket doit être conforme au schéma d’impression.The PrintTicket document must conform to the Print Schema.

La PrintTicket classe permet à votre application de configurer les fonctionnalités de l’imprimante sans avoir à intervenir dans l’écriture directe Stream d’objets XML.The PrintTicket class enables your application to configure the printer's features without having to engage in any direct writing of XML Stream objects.

Toutes les fonctionnalités les plus populaires de fichiers d’entreprise et de fichiers personnels et d’imprimantes photo sont PrintTicket représentées par les propriétés de la classe.All of the most popular features of home and business file and photo printers are represented by properties of PrintTicket the class. Toutefois, le schéma d’impression définit de nombreuses fonctionnalités plus, moins courantes, et il peut être étendu pour gérer les fonctionnalités des périphériques d’impression spécialisée.But the Print Schema defines many more, less common, features and it can be extended to handle features of specialty printing devices. Ainsi, bien que PrintTicket les PrintCapabilities classes et ne puissent pas être héritées, vous pouvez étendre le schéma d’impression pour reconnaître les fonctionnalités de périphérique d’impression PrintTicket qui ne sont pas comptabilisées dans les classes ou. PrintCapabilitiesSo, 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. Pour plus d'informations, consultez Guide pratique pour Étendez le schéma d’impression et créez de nouvellesclasses de système d’impression.For more information see How to: Extend the Print Schema and Create New Print System Classes.

Remarque Lorsque l' PrintTicket objet est créé avec le constructeur qui prend un paramètre de document PrintTicket ( Streamen tant que), le document entier est stocké dans un champ non public dans l’objet, y compris les éléments XML qui expriment moins communs fonctionnalités qui ne sont pas représentées par les propriétés publiques de PrintTicket la classe.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. En fait, si le pilote qui a produit le document PrintTicket utilise une extension privée du schéma d’impression, ce balisage défini en privé est également stocké dans le cadre du document PrintTicket non public.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.

Attention

Les classes de System.Printing l’espace de noms ne sont pas prises en charge pour une utilisation dans un service Windows ou une application ou un service ASP.net.Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Toute tentative d’utilisation de ces classes à partir de l’un de ces types d’application peut entraîner des problèmes inattendus, tels que des performances de service réduites et des exceptions au moment de l’exécution.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.

Si vous souhaitez imprimer à partir d’une application Windows Forms, consultez System.Drawing.Printing l’espace de noms.If you want to print from a Windows Forms application, see the System.Drawing.Printing namespace.

Constructeurs

PrintTicket()

Initialise une nouvelle instance de la classe PrintTicket.Initializes a new instance of the PrintTicket class.

PrintTicket(Stream)

Initialise une nouvelle instance de la classe PrintTicket à l’aide d’un flux XML (contenant un document PrintTicket) qui respecte le schéma d’impression XML.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.

Propriétés

Collation

Obtient ou définit une valeur indiquant si les copies du document imprimé sont assemblées.Gets or sets a value indicating whether the printer collates its output.

CopyCount

Obtient ou définit le nombre de copies du document à imprimer.Gets or sets the number of copies for the print job.

DeviceFontSubstitution

Obtient ou définit une valeur qui indique si l'imprimante substitue, au cours d'un travail d'impression, des polices basées sur périphérique aux polices basées dans l'ordinateur.Gets or sets a value indicating whether the printer substitutes device-based fonts for computer-based fonts on the print job.

Duplexing

Obtient ou définit une valeur indiquant quel type d'impression recto-verso, le cas échéant, l'imprimante utilise pour le travail d'impression.Gets or sets a value indicating what kind of two-sided printing, if any, the printer uses for the print job.

InputBin

Obtient ou définit une valeur indiquant quel bac d'alimentation (bac à papier) utiliser.Gets or sets a value indicating what input bin (paper tray) to use.

OutputColor

Obtient ou définit une valeur qui indique comment l'imprimante gère un contenu qui comporte des couleurs et des nuances de gris.Gets or sets a value indicating how the printer handles content that has color or shades of gray.

OutputQuality

Obtient ou définit une valeur qui indique la qualité de sortie pour le travail d'impression.Gets or sets a value indicating the quality of output for the print job.

PageBorderless

Obtient ou définit une valeur qui indique si le périphérique imprime le contenu jusqu'au bord du média ou laisse une marge non imprimée autour du bord.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

Obtient ou définit la taille de la page papier (ou autre média) qu'une imprimante utilise pour un travail d'impression.Gets or sets the page size for the paper (or other media) that a printer uses for a print job.

PageMediaType

Obtient ou définit une valeur indiquant quel sorte de papier (ou autre média) l'imprimante utilise pour le travail d'impression.Gets or sets a value indicating what sort of paper or media the printer uses for the print job.

PageOrder

Obtient ou définit une valeur qui indique si l'imprimante imprime un ensemble de pages d'arrière en avant ou d'avant en arrière.Gets or sets a value indicating whether the printer prints multiple pages back-to-front or front-to-back.

PageOrientation

Obtient ou définit une valeur qui indique comment le contenu de page est orienté pour l'impression.Gets or sets a value indicating how the page content is oriented for printing.

PageResolution

Obtient ou définit le niveau de résolution de page que l'imprimante utilise pour un travail d'impression.Gets or sets the level of page resolution that the printer uses for a print job.

PageScalingFactor

Obtient ou définit le pourcentage par lequel l'imprimante agrandit ou réduit l'image d'impression sur une page.Gets or sets the percentage by which the printer enlarges or reduces the print image on a page.

PagesPerSheet

Obtient ou définit le nombre des pages qui s'impriment sur chaque côté imprimé d'une feuille de papier.Gets or sets the number of pages that print on each printed side of a sheet of paper.

PagesPerSheetDirection

Obtient ou définit une valeur qui indique comment une imprimante réorganise plusieurs pages qui s'impriment sur chaque côté d'une feuille de papier.Gets or sets a value indicating how a printer arranges multiple pages that print on each side of a sheet of paper.

PhotoPrintingIntent

Obtient ou définit une valeur qui indique en termes qualitatifs le niveau de qualité que l'imprimante utilise pour imprimer une photographie.Gets or sets a value indicating in qualitative terms the level of quality the printer uses to print a photograph.

Stapling

Obtient ou définit une valeur qui indique si, et où, une imprimante agrafe plusieurs pages.Gets or sets a value indicating whether, and where, a printer staples multiple pages.

TrueTypeFontMode

Obtient ou définit une valeur qui indique comment l'imprimante gère le texte qui utilise des polices TrueType.Gets or sets a value indicating how the printer handles text that uses TrueType fonts.

Méthodes

Clone()

Crée un clone modifiable de ce PrintTicket, en créant des copies complètes des valeurs de cet objet.Creates a modifiable clone of this PrintTicket, making deep copies of this object's values.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
GetXmlStream()

Retourne un objet MemoryStream qui représente les valeurs de propriété d’un PrintTicket sous la forme d’un flux XML qui respecte le schéma d’impression.Returns a MemoryStream object that represents the property values of a PrintTicket as an XML stream that conforms to the Print Schema.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
SaveTo(Stream)

Enregistre les paramètres PrintTicket sur un objet Stream à l’aide d’un format XML qui respecte le schéma d’impression.Saves the PrintTicket settings to a Stream object by using an XML format that conforms to the Print Schema.

ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)

Événements

PropertyChanged

Ceci se produit lorsqu'une propriété de PrintTicket est modifiée.Occurs when any property of the PrintTicket changes.

S’applique à