PrintTicket Classe

Définition

Définit les paramètres d'un travail d'impression.

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.

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

Remarques

Un PrintTicket objet est une représentation facile à utiliser d’un certain type de document XML appelé un document PrintTicket. 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). 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 un <JobStapleAllDocuments … > élément qui spécifie StapleTopLeft. L’élément est, à son tour, représenté par la Stapling propriété de l' PrintTicket objet. Le document PrintTicket doit être conforme au schéma d’impression.

La PrintTicket classe permet à votre application de configurer les fonctionnalités de l’imprimante sans avoir à intervenir dans l’écriture directe d' Stream objets XML.

Toutes les fonctionnalités les plus populaires de fichiers d’entreprise et de fichiers personnels et d’imprimantes photo sont représentées par les propriétés de PrintTicket la classe. 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. 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 qui ne sont pas comptabilisées dans les PrintTicket PrintCapabilities classes ou. Pour plus d’informations , consultez Comment : étendre le schéma d’impression et créer de nouvelles classes de système d’impression.

Remarque Lorsque l' PrintTicket objet est créé avec le constructeur qui prend un paramètre de document PrintTicket (en tant que Stream ), le document entier est stocké dans un champ non public dans l’objet, y compris les éléments XML qu’il contient et qui expriment les fonctionnalités moins communes qui ne sont pas représentées par les propriétés publiques de la PrintTicket classe. 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.

Attention

Les classes de l' System.Printing espace de noms ne sont pas prises en charge pour une utilisation dans un service Windows ou une application ou un service ASP.net. 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.

Si vous souhaitez imprimer à partir d’une application Windows Forms, consultez l' System.Drawing.Printing espace de noms.

Constructeurs

PrintTicket()

Initialise une nouvelle instance de la classe PrintTicket.

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.

Propriétés

Collation

Obtient ou définit une valeur indiquant si les copies du document imprimé sont assemblées.

CopyCount

Obtient ou définit le nombre de copies du document à imprimer.

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.

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.

InputBin

Obtient ou définit une valeur indiquant quel bac d'alimentation (bac à papier) utiliser.

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.

OutputQuality

Obtient ou définit une valeur qui indique la qualité de sortie pour le travail d'impression.

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.

PageMediaSize

Obtient ou définit la taille de la page papier (ou autre média) qu'une imprimante utilise pour un travail d'impression.

PageMediaType

Obtient ou définit une valeur indiquant quel sorte de papier (ou autre média) l'imprimante utilise pour le travail d'impression.

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.

PageOrientation

Obtient ou définit une valeur qui indique comment le contenu de page est orienté pour l'impression.

PageResolution

Obtient ou définit le niveau de résolution de page que l'imprimante utilise pour un travail d'impression.

PageScalingFactor

Obtient ou définit le pourcentage par lequel l'imprimante agrandit ou réduit l'image d'impression sur une page.

PagesPerSheet

Obtient ou définit le nombre des pages qui s'impriment sur chaque côté imprimé d'une feuille de papier.

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.

PhotoPrintingIntent

Obtient ou définit une valeur qui indique en termes qualitatifs le niveau de qualité que l'imprimante utilise pour imprimer une photographie.

Stapling

Obtient ou définit une valeur qui indique si, et où, une imprimante agrafe plusieurs pages.

TrueTypeFontMode

Obtient ou définit une valeur qui indique comment l'imprimante gère le texte qui utilise des polices TrueType.

Méthodes

Clone()

Crée un clone modifiable de ce PrintTicket, en créant des copies complètes des valeurs de cet objet.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(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.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(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.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Événements

PropertyChanged

Ceci se produit lorsqu'une propriété de PrintTicket est modifiée.

S’applique à