PrintCapabilities Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert die Fähigkeiten eines Druckers.
public ref class PrintCapabilities sealed
public sealed class PrintCapabilities
type PrintCapabilities = class
Public NotInheritable Class PrintCapabilities
- Vererbung
-
PrintCapabilities
Beispiele
Das folgende Beispiel zeigt, wie Sie die Funktionen eines bestimmten Druckers ermitteln und einen Druckauftrag konfigurieren, um sie zu nutzen.
// ---------------------- 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()
Hinweise
Ein PrintCapabilities -Objekt ist eine einfach zu bedienende Darstellung eines bestimmten Typs von XML-Dokument, das als PrintCapabilities-Dokument bezeichnet wird. Letzteres ist eine Momentaufnahme aller Funktionen eines Druckers und seiner aktuellen Einstellungen. Wenn der Drucker beispielsweise den Farbdruck unterstützt, verfügt das Dokument über ein <PageOutputColor … >
-Element, das festlegt, wie die Farbausgabe behandelt wird. Das -Element wird wiederum durch die OutputColorCapability -Eigenschaft des PrintCapabilities -Objekts dargestellt. Wenn der Drucker keine Farbe unterstützt, gibt es kein <PageOutputColor … >
Element im Dokument, und der Wert der OutputColorCapability -Eigenschaft ist null
. Das PrintCapabilities-Dokument muss dem Druckschema entsprechen.
Die PrintCapabilities -Klasse ermöglicht es Ihrer Anwendung, die Funktionen eines Druckers abzurufen, ohne sich mit dem direkten Lesen von XML-Objekten Stream befassen zu müssen.
Alle beliebtesten Funktionen von Datei- und Fotodruckern, sowohl für Privat- als auch für Unternehmen, werden von der PrintCapabilities -Klasse gekapselt. Das Druckschema definiert jedoch viel mehr, weniger häufige Features und kann erweitert werden, um Features von Spezialdruckgeräten zu verarbeiten. Obwohl die PrintTicket Klassen und PrintCapabilities nicht vererbt werden können, können Sie das Druckschema erweitern, um Druckgerätefeatures zu erkennen, die nicht in den PrintTicket Klassen oder PrintCapabilities berücksichtigt werden.
Hinweis Wenn das PrintCapabilities Objekt mit dem Konstruktor erstellt wird, der ein PrintCapabilities-Dokument (als Stream) -Parameter akzeptiert, wird das gesamte Dokument in einem nicht öffentlichen Feld im -Objekt gespeichert, einschließlich der DARIN enthaltenen XML-Elemente, die weniger häufige Features ausdrücken, die nicht durch eine der öffentlichen Eigenschaften der PrintCapabilities -Klasse dargestellt werden. Wenn der Treiber, der das PrintCapabilities-Dokument erstellt hat, eine private Erweiterung des Druckschemas verwendet, wird dieses privat definierte Markup auch als Teil des nicht öffentlichen PrintCapabilities-Dokuments gespeichert.
Achtung
Klassen innerhalb des Namespace werden nicht für die System.Printing Verwendung innerhalb eines Windows-Diensts oder ASP.NET-Anwendung oder -Diensts unterstützt. Der Versuch, diese Klassen aus einem dieser Anwendungstypen zu verwenden, kann zu unerwarteten Problemen führen, z. B. verminderte Dienstleistung und Laufzeitausnahmen.
Wenn Sie aus einer Windows Forms-Anwendung drucken möchten, lesen Sie den System.Drawing.Printing Namespace.
Konstruktoren
PrintCapabilities(Stream) |
Initialisiert eine neue Instanz der PrintCapabilities-Klasse mit einem XML-Stream (der ein PrintCapabilities-Dokument enthält), der Druckerfunktionen angibt und dem XML-Druckschemaentspricht. |
Eigenschaften
CollationCapability |
Ruft eine Auflistung von Werten ab, die die von einem Drucker unterstützten Sortierreihenfolgen identifizieren. |
DeviceFontSubstitutionCapability |
Ruft eine Auflistung von Werten ab, die angeben, ob und in welcher Weise ein Drucker computerbasierte Schriftarten durch geräteseitige Schriftarten ersetzen kann. |
DuplexingCapability |
Ruft eine Auflistung von Werten ab, die identifizieren, ob und in welcher Weise ein Drucker einen zweiseitigen Druck ausführen kann. |
InputBinCapability |
Ruft eine Auflistung von Werten ab, die angeben, welcher Eingabeschacht verwendet wird. |
MaxCopyCount |
Ruft einen Wert ab, der die Höchstzahl möglicher Exemplare angibt, die das Gerät in einem einzelnen Druckauftrag verarbeiten kann. |
OrientedPageMediaHeight |
Ruft einen Wert ab, der die Höhe des bedruckbaren Bereichs einer Seite angibt. Die Höhe ist hierbei die vertikale Abmessung relativ zur Seitenausrichtung. |
OrientedPageMediaWidth |
Ruft einen Wert ab, der die Breite des bedruckbaren Bereichs einer Seite angibt. Die Breite ist hierbei die horizontale Abmessung relativ zur Seitenausrichtung. |
OutputColorCapability |
Ruft eine Auflistung von Werten ab, die angeben, welche Verfahren für den Farb- und Graustufendruck von einem Drucker unterstützt werden. |
OutputQualityCapability |
Ruft eine Auflistung von Werten ab, die die unterstützten Ausgabequalitäten eines Druckers identifizieren. |
PageBorderlessCapability |
Ruft eine Auflistung von Werten ab, die angeben, ob ein Drucker randlosen Druck unterstützt. |
PageImageableArea |
Ruft ein Objekt ab, das den Seitenbereich darstellt, den ein Drucker verwenden kann. |
PageMediaSizeCapability |
Ruft eine Auflistung von PageMediaSize-Objekten ab, die die von einem Drucker unterstützten Papier- und Medienformate identifizieren. |
PageMediaTypeCapability |
Ruft eine Auflistung von Werten ab, die identifizieren, welche Papiertypen und anderen Medien ein Drucker unterstützt. |
PageOrderCapability |
Ruft eine Auflistung mit Werten ab, die angeben, ob ein Drucker mehrseitige Dokumente mit normaler oder umgekehrter Seitenreihenfolge drucken kann oder ob beide Seitenreihenfolgen unterstützt werden. |
PageOrientationCapability |
Ruft eine Auflistung mit Werten ab, die identifizieren, welche Seitenausrichtungen ein Drucker unterstützt. |
PageResolutionCapability |
Ruft eine Auflistung von PageResolution-Objekten ab, die identifizieren, welche Seitenauflösungen ein Drucker unterstützt. |
PageScalingFactorRange |
Ruft den minimalen und den maximalen Prozentwert ab, um den ein Drucker das Druckbild auf einer Seite vergrößern oder verkleinern kann. |
PagesPerSheetCapability |
Ruft eine Auflistung von ganzen Zahlen ab, die jeweils angeben, wie viele Seiten ein Benutzer auf ein Blatt Papier drucken kann. |
PagesPerSheetDirectionCapability |
Ruft eine Auflistung von Werten ab, die identifizieren, welche Muster ein Drucker beim Drucken mehrerer Seiten auf einem Blatt Papier unterstützt. |
PhotoPrintingIntentCapability |
Ruft eine Auflistung von Werten, die die Qualitätsoptionen identifizieren, die ein Drucker beim Drucken von Fotos unterstützt. |
StaplingCapability |
Ruft eine Auflistung von Werten ab, die identifizieren, welche automatischen Hefttypen ein Drucker unterstützt. |
TrueTypeFontModeCapability |
Ruft eine Auflistung von Werten ab, die die Methoden identifizieren, die ein Drucker für die Verarbeitung von TrueType-Schriftarten unterstützt. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |