Partager via


PrintCapabilities Classe

Définition

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)

S’applique à