TrueTypeFontMode Enumeração

Definição

Especifica como uma impressora manipula texto formatado com uma fonte TrueType.

public enum class TrueTypeFontMode
public enum TrueTypeFontMode
type TrueTypeFontMode = 
Public Enum TrueTypeFontMode
Herança
TrueTypeFontMode

Campos

Automatic 1

O driver de impressora decide o melhor método para lidar com as fontes TrueType.

DownloadAsNativeTrueTypeFont 4

O driver de impressora baixa a fonte TrueType.

DownloadAsOutlineFont 2

O driver de impressora baixa da fonte TrueType como uma fonte de tópicos.

DownloadAsRasterFont 3

O driver de impressora cria uma fonte de varredura para cada tamanho de fonte TrueType que ele precisa e baixa todos eles.

RenderAsBitmap 5

O driver de impressora downloads de cada área de texto como um elemento gráfico.

Unknown 0

O recurso (cujas opções são representadas por esta enumeração) é definido como uma opção não definida. no imprimir esquema.

Exemplos

O exemplo a seguir mostra como testar as funcionalidades de uma impressora e configurar o trabalho de impressão para tirar proveito delas.

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

Comentários

Fontes TrueType são fontes de vetor , que instruem drivers de impressora e drivers de tela como desenhar as formas das letras e preenchê-las. Fontes vetoriais contrastam com fontes raster , que são simplesmente listas. Uma fonte raster tem uma lista para cada letra de cada tamanho de fonte disponível e as listas determinam, para cada pixel na letra, se ela é impressa.

Você pode ampliar ou reduzir fontes de vetor para quase qualquer tamanho de ponto; no entanto, fontes de vetor podem atrasar a impressão porque ocupam uma grande quantidade de memória da impressora. Além disso, algumas impressoras não dão suporte a fontes TrueType.

Impressoras mais recentes geralmente evitam esses problemas fazendo o seguinte.

  • Convertendo uma fonte TrueType em uma fonte de estrutura de tópicos, que é uma fonte de vetor genérico. Muitas impressoras que não dão suporte a fontes TrueType dão suporte a fontes de estrutura de tópicos.

  • Criando uma fonte de raster temporária que se parece com uma fonte TrueType. A impressora deve criar uma fonte de raster temporária separada para cada tamanho de fonte que o documento usa. Por esse motivo, se um trabalho de impressão usar muitos tamanhos de fonte, a memória total que a impressora usa poderá ser maior do que o que uma fonte TrueType usaria.

  • Tratando cada área de texto no documento como um elemento gráfico. Se um dispositivo precisar imprimir um documento que contenha muito pouco texto, baixar texto como um gráfico poderá usar menos memória de impressora do que baixar uma fonte.

Use os valores desse tipo para estas finalidades:

  • Como membros da TrueTypeFontModeCapability coleção, que é uma propriedade de PrintCapabilities, esses valores indicam quais das técnicas anteriores estão disponíveis para uma impressora específica. Muitas impressoras dão suporte a mais de uma dessas técnicas.

  • Como o valor da TrueTypeFontMode propriedade de um PrintTicket, o valor instrui a impressora a manipular fontes TrueType de uma maneira específica.

O valor Desconhecido nunca é usado em propriedades de PrintCapabilities objetos.

Você nunca deve definir uma PrintTicket propriedade como Unknown. Se algum outro PrintTicket aplicativo de produção tiver criado um documento PrintTicket que define o recurso de manipulação de fonte TrueType como uma opção não reconhecida (ou seja, uma opção que não está definida no Esquema de Impressão, um PrintTicket objeto em seu aplicativo que é construído com esse documento terá Unknown como o valor da TrueTypeFontMode propriedade.

Embora as PrintTicket classes e não PrintCapabilities possam ser herdadas, você pode estender o Esquema de Impressão para reconhecer os recursos de dispositivo de impressão que não são contabilizados nas classes ou PrintCapabilities nas PrintTicket classes. Para obter mais informações , consulte Como estender o esquema de impressão e criar novas classes do sistema de impressão.

Aplica-se a

Confira também