DeviceFontSubstitution DeviceFontSubstitution DeviceFontSubstitution DeviceFontSubstitution Enum

Definition

Gibt an, ob die Geräteschriftartersetzung für einen Drucker aktiviert ist.Specifies whether device font substitution is enabled on a printer.

public enum class DeviceFontSubstitution
public enum DeviceFontSubstitution
type DeviceFontSubstitution = 
Public Enum DeviceFontSubstitution
Vererbung
DeviceFontSubstitutionDeviceFontSubstitutionDeviceFontSubstitutionDeviceFontSubstitution

Felder

Off Off Off Off 1

Die Geräteschriftartersetzung ist deaktiviert.Device font substitution is disabled.

On On On On 2

Die Geräteschriftartersetzung ist aktiviert.Device font substitution is enabled.

Unknown Unknown Unknown Unknown 0

Für die Funktion (deren Optionen durch diese Enumeration dargestellt werden) wurde eine Option festgelegt, die im Druckschema nicht 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 Druckerfunktionen bestimmen und den Druckauftrag so konfigurieren, dass Sie von diesen genutzt werden.The following example shows how to determine printer capabilities and configure the print job to take advantage of them.

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

Der Druckvorgang ist schneller, wenn nur der Text, nicht die Schriftart, an den Drucker gesendet wird.Printing is faster when only the text, not the font, is sent to the printer. Einige Drucker verfügen Überschrift Arten, die dauerhaft im Speicher gespeichert werden.Some printers have fonts that are permanently stored in their memory. Mit diesen Druckern können Benutzer für jede Schriftart, die von der Druckanwendung verwendet wird, eine residente Drucker Schriftart ersetzen.These printers enable users to substitute a resident printer font for each font that is used by the printing application.

Die Werte dieses Typs werden hauptsächlich für folgende Zwecke verwendet:The values of this type are used primarily for these purposes:

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

Legen Sie eine PrintTicket Eigenschaft nie auf "unknown" fest.You should never set a PrintTicket property to Unknown. Wenn eine andere PrintTicket Produktionsanwendung ein Print Ticket-Dokument erstellt hat, das die Funktion für die Schriftart Ersetzung von Geräten auf eine nicht erkannte Option (d. h. eine Option, die nicht im Druck Schemadefiniert ist) festlegt, wird ein PrintTicket -Objekt in Ihre Anwendung, die mit diesem Dokument erstellt wird, ist unbekannt als Wert der DeviceFontSubstitution -Eigenschaft.If some other PrintTicket producing application has created a PrintTicket document that sets the device font substitution 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 DeviceFontSubstitution 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.

Gilt für:

Siehe auch