PrintTicket Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |