PrintCapabilities Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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) |