OutputQuality Enumeration

Definition

Gibt die Ausgabequalitäten für ein Druckgerät an.Specifies the types of output quality for a print device.

public enum class OutputQuality
public enum OutputQuality
type OutputQuality = 
Public Enum OutputQuality
Vererbung
OutputQuality

Felder

Automatic 1

Wählt automatisch basierend auf dem Inhalt eines Druckauftrags einen geeigneten Qualitätstyp aus.Automatically selects a quality type that is based on the contents of a print job.

Draft 2

Entwurfsqualität.Draft quality.

Fax 3

Faxqualität.Fax quality.

High 4

Bessere Qualität als normale Qualität.Higher than normal quality.

Normal 5

Normale Qualität.Normal quality.

Photographic 6

Fotoqualität.Photographic quality. Weitere Informationen finden Sie unter Notes on OutputQuality.Photographic (Hinweise zu OutputQuality.Photographic) im Abschnitt „Hinweise“.For more information, see Notes on OutputQuality.Photographic in the Remarks section.

Text 7

Textqualität.Text quality.

Unknown 0

Für die Funktion (deren Optionen durch diese Enumeration dargestellt werden) wurde eine Option festgelegt, die im Druckschemanicht definiert ist.The feature (whose options are represented by this enumeration) is set to an option not defined in the Print Schema.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie die Funktionen eines Druckers testen und den Druckauftrag so konfigurieren, dass er von diesen genutzt wird.The following example shows how to test a printer's capabilities and configure the print job to take advantage of them. sein..

// ---------------------- 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^ printCapabilites = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilites->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilites->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilites->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 printCapabilites = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilites.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilites.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilites.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 printCapabilites As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilites.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilites.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilites.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

Hinweise

Verwenden Sie die Werte dieses Typs in erster Linie für diese Zwecke:Use the values of this type primarily for these purposes:

Der Unknown Wert wird nie in Eigenschaften von PrintCapabilities Objekten verwendet.The Unknown value is never used in properties of PrintCapabilities objects.

Legen Sie niemals eine PrintTicket Eigenschaft auf Unknownfest.You should never set a PrintTicket property to Unknown. Wenn eine andere PrintTicket Erstellungs Anwendung ein Print Ticket-Dokument erstellt hat, das das Feature Output Quality auf eine nicht erkannte Option festlegt (d. h. eine Option, die nicht im Druck Schemadefiniert PrintTicket ist), wird ein-Objekt in Ihre Anwendung, die mit diesem Dokument erstellt wird, Unknown hat den Wert OutputQuality der-Eigenschaft.If some other PrintTicket producing application has created a PrintTicket document that sets the output quality feature to an unrecognized option (that is, an option that is not defined in the Print Schema), then a PrintTicket object in your application that is constructed with that document will have Unknown as the value of the OutputQuality property.

Obwohl die PrintTicket - PrintCapabilities Klasse und die-Klasse nicht vererbt werden können, können Sie das Druck Schema so erweitern, dass Druckgeräte Features erkannt PrintTicket werden PrintCapabilities , die in den Klassen oder nicht berücksichtigt werden.Although the PrintTicket and PrintCapabilities classes cannot be inherited, you can extend the Print Schema to recognize print device features that are not accounted for in the PrintTicket or PrintCapabilities classes. Weitere Informationen finden Sie unter Vorgehensweise: Erweitern Sie das Druck Schema, und erstellen Sie neueDruck System Klassen.For more information see How to: Extend the Print Schema and Create New Print System Classes.

Notes on OutputQuality.PhotographicNotes on OutputQuality.Photographic

Beginnend mit .NET Framework 4.6.1.NET Framework 4.6.1wird die mit dem Foto-Wert erhaltene Ausgabequalität verbessert (im Vergleich zu früheren Versionen des .NET Framework), wenn der Druck auf einen GDI-basierten Drucker erfolgt und bei Ausführung unter Windows 7 und früheren Versionen von Windows. Betriebssystem.Starting with the .NET Framework 4.6.1.NET Framework 4.6.1, the output quality obtained with the Photographic value is improved (compared to previous versions of the .NET Framework) when printing to a GDI-based printer and when running on Windows 7 and earlier versions of the Windows operating system.

Das Erstellen von Dokumenten mit besserer Ausgabequalität erfordert größere Druck spoolerdateien und längere Wartezeiten.Producing documents with better output quality requires larger print spooler files and longer wait times. Wenn diese Nebeneffekte nicht erwünscht sind, können Sie stattdessen den hohen Wert verwenden.If these side effects are undesirable, you can instead use the High value.

Gilt für:

Siehe auch