Carregar documentos de fontes a partir de um array de bytes

.NET API Solution para descarregar TTF, WOFF, EOT, Type 1 e CFF a partir de um MemoryStream.

 

Aspose.Font API Solution tem uma funcionalidade rica para trabalhar com fontes. Conversão, manipulação de glifos, deteção de símbolos latinos e muito mais. O passo importante nas manipulações de fontes é o carregamento de ficheiros de fontes, para que os possa usar posteriormente.

Esta página descreve a opção de como carregar ficheiros de fontes a partir de streams, mas toda a funcionalidade está detalhadamente descrita no artigo How to load files? . Lá encontrará muito mais exemplos de código C#, e descobrirá os objetos e parâmetros necessários para o carregamento de fontes.

A solução suporta os seguintes formatos de fontes: TrueType (fonte única), TrueType (coleção de fontes), Web Open Font Format, Web Open Font Format versão 2.0, Embedded OpenType, Adobe Type 1 (pfa, pfb, afm, pfm) e Compact Font Format. Os snippets de código adjuntos mostram o carregamento de fontes Type 1 e CFF a partir de um array de bytes.

Para carregar fontes precisamos de:

  • Aspose.Font para .NET API que é uma API rica em funcionalidades, poderosa e fácil de usar para manipulação e conversão de documentos na plataforma C#.

  • Abra o gestor de pacotes NuGet, procure por Aspose.Font e instale. Também pode usar o seguinte comando na consola do Package Manager.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Passos para carregar Compact Font Format(CFF) a partir de array de bytes/MemoryStream usando C#:

  1. Defina o array de bytes para carregar a fonte usando a classe FontFileDefinition .
  2. Utilize o método estático Open() do objeto Aspose.Font.Sources.FontDefinition para criar o objeto FontDefinition desejado.
  3. Utilize o objeto do tipo ByteContentStreamSource para especificar o formato de fonte CFF.
  4. Passe o FontDefinition apropriado ao método Aspose.Font.Font.Open() .

Código C# para carregar fontes a partir do stream

    using Aspose.Font;
    using Aspose.Font.Sources;
    using Aspose.Font.Cff;
    //byte array to load Font from
    byte[] fontMemoryData;

    FontDefinition fd = FontDefinition.Open(new ByteContentStreamSource(fontMemoryData), 
                FontType.CFF);
    CffFont cffFont = Aspose.Font.Font.Open(fd) as CffFont;

Passos para carregar fonte Type 1 a partir de array de bytes/MemoryStream usando C#:

  1. Defina o array de bytes para carregar a fonte Type 1 usando FontFileDefinition Class.
  2. Utilize o método estático Open() do objeto Aspose.Font.Sources.FontDefinition para criar o objeto FontDefinition desejado.
  3. Utilize o objeto do tipo ByteContentStreamSource para especificar o formato de fonte Type 1.
  4. Passe o FontDefinition apropriado ao método Aspose.Font.Font.Open().

Código C# para carregar fontes a partir do stream

    using Aspose.Font;
    using Aspose.Font.Sources;
    using Aspose.Font.Type1;
    //byte array to load Font from
    byte[] fontMemoryData;

    FontDefinition fd = FontDefinition.Open(new ByteContentStreamSource(fontMemoryData), 
                FontType.Type1);
    Type1Font font = Aspose.Font.Font.Open(fd) as Type1Font;



Perguntas frequentes

1. Quais são os parâmetros para carregar fontes programaticamente?

Para o carregamento correto da fonte, você precisa conhecer dois parâmetros-chave. Eles são formato de fonte e armazenamento.

2. Onde estão localizadas as fontes no meu computador?

Para ver as fontes disponíveis em seu computador acesse o diretório C:>Windows>Fontes. Lá você poderá gerenciar suas fontes.

3. Como carregar uma fonte de um stream?

Defina a matriz de banho usando FontFileDefinition e crie o objeto por meio do método Open(). Especifique o formato da fonte. Termine o carregamento usando o método Aspose.Font.Font.Open().