PrintCapabilities Klas

Definitie

Definieert de mogelijkheden van een printer.

public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
Overname
PrintCapabilities

Voorbeelden

In het volgende voorbeeld ziet u hoe u de mogelijkheden van een specifieke printer kunt bepalen en hoe u een afdruktaak configureert om hiervan te profiteren.

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

Opmerkingen

Een PrintCapabilities object is een eenvoudig te werken weergave van een bepaald type XML-document, een Document printcapabilities genoemd. Dit laatste is een momentopname van alle mogelijkheden van een printer en hun huidige instellingen. Als de printer bijvoorbeeld kleuren afdrukken ondersteunt, heeft het document een <PageOutputColor … > element waarin wordt aangegeven hoe de kleuruitvoer wordt verwerkt. Het element wordt op zijn beurt vertegenwoordigd door de OutputColorCapability eigenschap van het PrintCapabilities object. Als de printer geen kleur ondersteunt, is er geen <PageOutputColor … > element in het document en de waarde van de OutputColorCapability eigenschap.null Het document PrintCapabilities moet voldoen aan het afdrukschema.

De PrintCapabilities klasse stelt uw toepassing in staat om de mogelijkheden van een printer te verkrijgen zonder direct lezen van XML-objecten Stream te hoeven uitvoeren.

Alle populairste functies van bestands- en fotoprinters, zowel voor thuis als voor bedrijven, worden ingekapseld door de PrintCapabilities klas. Maar het afdrukschema definieert nog veel meer, minder gangbare functies en kan worden uitgebreid om functies van speciale afdrukapparaten te verwerken. Hoewel de PrintTicket en PrintCapabilities klassen niet kunnen worden overgenomen, kunt u het afdrukschema uitbreiden om functies van het afdrukapparaat te herkennen waarvoor geen rekening is gehouden in de PrintTicket of PrintCapabilities klassen.

Opmerking Wanneer het PrintCapabilities object wordt gemaakt met de constructor die een PrintCapabilities-document (als een Stream) parameter gebruikt, wordt dat hele document opgeslagen in een niet-openbaar veld in het object, inclusief de XML-elementen erin die minder algemene functies uitdrukken die niet worden vertegenwoordigd door een van de openbare eigenschappen van de PrintCapabilities klasse. Als het stuurprogramma dat het document PrintCapabilities heeft geproduceerd, een persoonlijke uitbreiding van het afdrukschema gebruikt, wordt die persoonlijk gedefinieerde markering ook opgeslagen als onderdeel van het document niet-openbare PrintCapabilities.

Caution

Klassen in de naamruimte System.Printing worden niet ondersteund voor gebruik binnen een Windows-service of ASP.NET toepassing of service. Als u deze klassen probeert te gebruiken vanuit een van deze toepassingstypen, kunnen er onverwachte problemen optreden, zoals verminderde serviceprestaties en runtime-uitzonderingen.

Als u wilt afdrukken vanuit een Windows Forms toepassing, raadpleegt u de System.Drawing.Printing naamruimte.

Constructors

Name Description
PrintCapabilities(Stream)

Initialiseert een nieuw exemplaar van de PrintCapabilities klasse met behulp van een XML-stroom (die een PrintCapabilities-document bevat) die printermogelijkheden aangeeft en voldoet aan het XML-afdrukschema.

Eigenschappen

Name Description
CollationCapability

Hiermee haalt u een verzameling waarden op waarmee de sorteringsmogelijkheden van een printer worden geïdentificeerd.

DeviceFontSubstitutionCapability

Hiermee haalt u een verzameling waarden op die bepalen of en hoe een printer lettertypen op basis van apparaten kan vervangen door computerlettertypen.

DuplexingCapability

Hiermee haalt u een verzameling waarden op die bepalen of en hoe een printer dubbelzijdig afdrukken kan uitvoeren.

InputBinCapability

Hiermee haalt u een verzameling waarden op die aangeven welke invoerbak (papierlade) wordt gebruikt.

MaxCopyCount

Hiermee wordt een waarde opgehaald die het maximum aantal exemplaren aangeeft dat het apparaat in één afdruktaak kan afdrukken.

OrientedPageMediaHeight

Hiermee wordt een waarde opgehaald die de hoogte aangeeft van het afbeeldingsbare gebied op een pagina, waarbij hoogte de verticale dimensie betekent ten opzichte van de afdrukstand van de pagina.

OrientedPageMediaWidth

Hiermee wordt een waarde opgehaald die de breedte aangeeft van het afbeeldingsbare gebied op een pagina, waarbij de breedte de horizontale dimensie betekent ten opzichte van de afdrukstand van de pagina.

OutputColorCapability

Hiermee haalt u een verzameling waarden op waarmee de manieren worden opgegeven waarop een printer inhoud kan afdrukken met kleur en grijstinten.

OutputQualityCapability

Hiermee haalt u een verzameling waarden op die aangeven welke typen uitvoerkwaliteit de printer ondersteunt.

PageBorderlessCapability

Hiermee haalt u een verzameling waarden op die aangeven of de printer tot aan de rand van de media kan afdrukken.

PageImageableArea

Hiermee wordt een object opgehaald dat het gebied aangeeft van een pagina die de printer kan gebruiken.

PageMediaSizeCapability

Hiermee haalt u een verzameling PageMediaSize objecten op die de papier- en mediaformaten identificeren die een printer ondersteunt.

PageMediaTypeCapability

Hiermee haalt u een verzameling waarden op die bepalen welke soorten papier en andere media een printer ondersteunt.

PageOrderCapability

Hiermee haalt u een verzameling waarden op die aangeven of een printer in staat is om documenten met meerdere pagina's van voor naar achter, back-to-front of beide manieren af te drukken.

PageOrientationCapability

Hiermee haalt u een verzameling waarden op die bepalen welke typen paginastand een printer ondersteunt.

PageResolutionCapability

Hiermee haalt u een verzameling PageResolution objecten op die bepalen welke paginaresoluties de printer ondersteunt.

PageScalingFactorRange

Hiermee haalt u het maximum- en minimumpercentage op waarmee een printer de afdrukafbeelding op een pagina kan vergroten of verkleinen.

PagesPerSheetCapability

Hiermee haalt u een verzameling gehele getallen op, waarbij elk het aantal pagina's identificeert dat een gebruiker kan afdrukken aan één zijde van een vel papier.

PagesPerSheetDirectionCapability

Hiermee haalt u een verzameling waarden op die bepalen welke patronen een printer ondersteunt voor het presenteren van meerdere pagina's aan één zijde van een vel papier.

PhotoPrintingIntentCapability

Hiermee haalt u een verzameling waarden op die de kwaliteitsopties identificeren die de printer ondersteunt voor het afdrukken van foto's.

StaplingCapability

Hiermee haalt u een verzameling waarden op waarmee de typen automatische nieting worden geïdentificeerd die door een printer worden ondersteund.

TrueTypeFontModeCapability

Hiermee haalt u een verzameling waarden op die de methoden identificeren die een printer ondersteunt voor het verwerken van TrueType-lettertypen.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op