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 os recursos de uma impressora e configurar o trabalho de impressão para tirar proveito deles.

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

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

Você pode ampliar ou reduzir fontes de vetor para quase qualquer tamanho de ponto; no entanto, as fontes vetoriais podem reduzir 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.

As impressoras mais recentes geralmente evitam esses problemas fazendo o seguinte.

  • Converter uma fonte TrueType em uma fonte de estrutura de tópicos, que é uma fonte de vetor genérica. 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 varredura temporária que se parece com uma fonte TrueType. A impressora deve criar uma fonte de varredura temporária separada para cada tamanho de fonte usado pelo documento. 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 uma fonte TrueType usaria.

  • Tratar cada área de texto no documento como um gráfico. Se um dispositivo precisar imprimir um documento que contenha muito pouco texto, baixar texto como 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 Unknown 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 fontes 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 construído com esse documento terá Unknown como o valor da TrueTypeFontMode propriedade.

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

Aplica-se a

Confira também