PrintCapabilities 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 fonctionnalités d'une imprimante.
public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
- Héritage
-
PrintCapabilities
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 PrintCapabilities objet est une représentation facile à utiliser d’un certain type de document XML appelé document PrintCapabilities. Ce dernier est un instantané de toutes les fonctionnalités d’une imprimante et de leurs paramètres actuels. Par exemple, si l’imprimante prend en charge l’impression couleur, le document a un <PageOutputColor … >
élément qui définit la façon dont la sortie couleur sera gérée. L’élément est, à son tour, représenté par la OutputColorCapability propriété de l’objet PrintCapabilities . Si l’imprimante ne prend pas en charge la couleur, il n’y a aucun <PageOutputColor … >
élément dans le document et la valeur de la OutputColorCapability propriété est null
. Le document PrintCapabilities doit être conforme au schéma d’impression.
La PrintCapabilities classe permet à votre application d’obtenir les fonctionnalités d’une imprimante sans avoir à effectuer de lecture directe d’objets XML Stream .
Toutes les fonctionnalités les plus populaires des imprimantes de fichiers et de photos, pour les particuliers et les entreprises, sont encapsulées par la PrintCapabilities 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 périphériques 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 .
Note Lorsque l’objet PrintCapabilities est créé avec le constructeur qui prend un document PrintCapabilities (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 caractéristiques moins courantes qui ne sont représentées par aucune des propriétés publiques de la PrintCapabilities classe. En fait, si le pilote qui a produit le document PrintCapabilities utilise une extension privée du schéma d’impression, ce balisage défini en privé est également stocké dans le document PrintCapabilities non public.
Attention
Les classes au sein 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 générer 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’espace de System.Drawing.Printing noms .
Constructeurs
PrintCapabilities(Stream) |
Initialise une nouvelle instance de la classe PrintCapabilities à l’aide d’un flux XML (contenant un document PrintCapabilities) qui spécifie des fonctions d’imprimante et respectant le schéma d’impression. |
Propriétés
CollationCapability |
Obtient une collection de valeurs qui identifient les fonctionnalités de classement d'une imprimante. |
DeviceFontSubstitutionCapability |
Obtient une collection de valeurs qui identifient si une imprimante peut substituer des polices d'ordinateur aux polices de périphérique, et comment. |
DuplexingCapability |
Obtient une collection de valeurs qui identifient si une imprimante peut exécuter l'impression recto-verso, et comment. |
InputBinCapability |
Obtient une collection de valeurs qui indiquent quel bac d'alimentation (bac papier) est utilisé. |
MaxCopyCount |
Obtient une valeur qui indique le nombre maximal de copies que le périphérique peut imprimer en un seul travail d'impression. |
OrientedPageMediaHeight |
Obtient une valeur qui indique la hauteur de la zone imageable sur une page ; hauteur signifiant la dimension verticale relative à l'orientation de la page. |
OrientedPageMediaWidth |
Obtient une valeur qui indique la largeur de la zone imageable sur une page ; largeur signifiant la dimension horizontale relative à l'orientation de la page. |
OutputColorCapability |
Obtient une collection de valeurs qui spécifient les possibilités d'impression de contenu en couleurs et en nuances de gris par une imprimante. |
OutputQualityCapability |
Obtient une collection de valeurs qui indiquent les types de qualité de sortie que prend en charge l'imprimante. |
PageBorderlessCapability |
Obtient une collection de valeurs qui indiquent si l'imprimante peut imprimer jusqu'au bord du média. |
PageImageableArea |
Obtient un objet qui représente la zone d'une page que l'imprimante peut utiliser. |
PageMediaSizeCapability |
Obtient une collection d'objets PageMediaSize qui identifient les tailles papier et média qu'une imprimante prend en charge. |
PageMediaTypeCapability |
Obtient une collection de valeurs qui identifient les types de papier et autres média qu'une imprimante prend en charge. |
PageOrderCapability |
Obtient une collection de valeurs qui indiquent si une imprimante est capable d'imprimer des documents multipages avant-arrière, arrière-avant ou les deux. |
PageOrientationCapability |
Obtient une collection de valeurs qui identifient les types d'orientation de page qu'une imprimante prend en charge. |
PageResolutionCapability |
Obtient une collection d'objets PageResolution qui identifient quels niveaux de résolution de page l'imprimante prend en charge. |
PageScalingFactorRange |
Obtient les pourcentages maximaux et minimaux auxquels une imprimante peut agrandir ou réduire l'image d'impression sur une page. |
PagesPerSheetCapability |
Obtient une collection d'entiers, chacun identifiant le nombre de pages qu'un utilisateur peut choisir d'imprimer sur un côté seul d'une feuille de papier. |
PagesPerSheetDirectionCapability |
Obtient une collection de valeurs qui identifient les motifs qu'une imprimante prend en charge pour présenter plusieurs pages sur un seul côté d'une feuille de papier. |
PhotoPrintingIntentCapability |
Obtient une collection de valeurs qui identifient les options de qualité que prend en charge l'imprimante pour l'impression de photographies. |
StaplingCapability |
Obtient une collection de valeurs qui identifient les types d'agrafage automatique qu'une imprimante prend en charge. |
TrueTypeFontModeCapability |
Obtient une collection de valeurs qui identifient les méthodes qu'une imprimante prend en charge pour gérer les polices TrueType. |
Méthodes
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) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |