Leggere in inglese

Condividi tramite


DeviceFontSubstitution Enumerazione

Definizione

Specifica se sulla stampante è attivata la sostituzione dei tipi di carattere del dispositivo.

public enum DeviceFontSubstitution
Ereditarietà
DeviceFontSubstitution

Campi

Nome Valore Descrizione
Off 1

La sostituzione dei tipi di carattere del dispositivo è disabilitata.

On 2

La sostituzione dei tipi di carattere del dispositivo è attivata.

Unknown 0

La funzionalità, le cui opzioni sono rappresentate da questa enumerazione, è impostata su un'opzione non definita nello schema di stampa.

Esempio

Nell'esempio seguente viene illustrato come determinare le funzionalità della stampante e configurare il processo di stampa per sfruttarli.

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

Commenti

La stampa è più veloce quando solo il testo, non il tipo di carattere, viene inviato alla stampante. Alcune stampanti includono tipi di carattere archiviati in modo permanente nella memoria. Queste stampanti consentono agli utenti di sostituire un tipo di carattere della stampante residente per ogni tipo di carattere utilizzato dall'applicazione di stampa.

I valori di questo tipo vengono usati principalmente per questi scopi:

Il valore Unknown non viene mai utilizzato nelle proprietà degli PrintCapabilities oggetti .

Non impostare mai una PrintTicket proprietà su Unknown. Se un'altra PrintTicket applicazione di produzione ha creato un documento PrintTicket che imposta la funzionalità di sostituzione dei tipi di carattere del dispositivo su un'opzione non riconosciuta, ovvero un'opzione non definita nello schema di stampa, un PrintTicket oggetto nell'applicazione che viene costruito con tale documento avrà Unknown come valore della DeviceFontSubstitution proprietà .

Anche se le PrintTicket classi e PrintCapabilities non possono essere ereditate, è possibile estendere lo schema di stampa per riconoscere le funzionalità del dispositivo di stampa non incluse nelle PrintTicket classi o PrintCapabilities . Per altre informazioni, vedere Procedura: Estendere lo schema di stampa e Creare nuove classi di sistema di stampa.

Si applica a

Prodotto Versioni
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Vedi anche