Прочитать на английском

Поделиться через


DeviceFontSubstitution Перечисление

Определение

Указывает, включена ли на принтере подстановка шрифтов устройства.

C#
public enum DeviceFontSubstitution
Наследование
DeviceFontSubstitution

Поля

Имя Значение Описание
Off 1

Подстановка шрифтов устройства отключена.

On 2

Подстановка шрифтов устройства включена.

Unknown 0

Функции (параметры которой представлены этим перечислением) присвоен параметр, который не определен в схеме печати.

Примеры

В следующем примере показано, как определить возможности принтера и настроить задание печати, чтобы воспользоваться ими.

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

Комментарии

Печать выполняется быстрее, когда на принтер отправляется только текст, а не шрифт. Некоторые принтеры имеют шрифты, которые постоянно хранятся в памяти. Эти принтеры позволяют пользователям заменять шрифт постоянного принтера для каждого шрифта, используемого приложением печати.

Значения этого типа используются в основном для следующих целей:

  • Как члены DeviceFontSubstitutionCapability коллекции, свойство PrintCapabilities, они представляют возможности принтера.

  • В качестве значения DeviceFontSubstitution свойства они указывают принтеру включить или отключить подстановку шрифта PrintTicketустройства для задания печати.

Значение Unknown никогда не используется в свойствах PrintCapabilities объектов .

Никогда не следует присваивать свойству PrintTicket значение Unknown. Если какое-то другое PrintTicket создающее приложение создало документ PrintTicket, который задает функцию подстановки шрифтов устройства как нераспознанный параметр (то есть параметр, который не определен в схеме печати), то PrintTicket в качестве значения свойства для объекта в приложении, созданного DeviceFontSubstitution с помощью этого документа, будет задано значение Unknown.

Несмотря на PrintTicket то, что классы и PrintCapabilities нельзя наследовать, схему печати можно расширить для распознавания функций устройств печати, которые не учитываются в классах PrintTicket или PrintCapabilities . Дополнительные сведения см. в разделах Практическое руководство. Расширение схемы печати и Создание новых системных классов печати.

Применяется к

Продукт Версии
.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

См. также раздел