Partager via


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é document PrintTicket. Ce dernier est un ensemble d’instructions qui indiquent à une imprimante comment définir ses différentes fonctionnalités (telles que le duplexing, le regroupement et l’agrafage). Par exemple, pour indiquer à l’imprimante d’activer son agrafeuse et ses travaux d’impression agrafés dans le coin supérieur gauche, le document aurait un <JobStapleAllDocuments … > élément qui spécifie StapleTopLeft. L’élément est, à son tour, représenté par la Stapling propriété de l’objet PrintTicket . 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 à effectuer d’écriture directe d’objets XML Stream .

Toutes les fonctionnalités les plus populaires des imprimantes de fichiers et de photos d’entreprise et de famille sont représentées par les propriétés de PrintTicket la classe. Mais le schéma d’impression définit de nombreuses autres fonctionnalités, moins courantes, et il peut être étendu pour gérer les fonctionnalités des appareils d’impression spécialisés. Ainsi, bien que les PrintTicket classes et PrintCapabilities ne puissent pas être héritées, vous pouvez étendre le schéma d’impression pour reconnaître les fonctionnalités d’appareil d’impression qui ne sont pas prises en compte dans les PrintTicket classes ou PrintCapabilities . Pour plus d’informations , consultez Guide pratique pour étendre le schéma d’impression et créer de nouvelles classes système d’impression.

Note Lorsque l’objet PrintTicket est créé avec le constructeur qui prend un document PrintTicket (en tant Streamque paramètre ) , ce document entier est stocké dans un champ non public de l’objet, y compris les éléments XML qu’il contient qui expriment des fonctionnalités moins courantes qui ne sont représentées par aucune des 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’espace System.Printing de noms ne sont pas prises en charge pour une utilisation dans un service Windows ou ASP.NET application ou service. La tentative d’utilisation de ces classes à partir de l’un de ces types d’application peut produire des problèmes inattendus, tels que des performances de service réduites et des exceptions d’exécution.

Si vous souhaitez imprimer à partir d’une application Windows Forms, consultez l’espace de System.Drawing.Printing 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 à