Converta PFB em TTF usando C#.

A fonte Printer Font Binary (PFB) é a fonte Type1 da Adobe. O sistema operacional Windows usa fontes Adobe Type 1 armazenadas em arquivos PFB. Em certos casos, pode ser necessário converter fontes PFB em TTF programaticamente. A fonte True Type ou TTF é usada em sistemas operacionais para todas as plataformas digitais. Neste artigo, aprenderemos como converter PFB para TTF em C#.

Os seguintes tópicos serão abordados neste artigo:

  1. API de fonte do conversor C# PFB para TTF
  2. Etapas para converter PFB em TTF
  3. Converter PFB em TTF usando C#

API de fonte do conversor C# PFB para TTF

Para converter a fonte Type1 PFB em TTF, usaremos a API Aspose.Font for .NET. Ele permite carregar, salvar e extrair informações de fonte de tipos de fonte suportados.

Na API, a classe FontFileDefinition representa as definições do arquivo Font. A classe FontDefinition representa a definição do conjunto de arquivos Font. Contém campos que não fazem parte dos dados internos da fonte. Uma fonte de fonte (arquivo, memória, etc.) pode ser carregada a partir desses campos para descrever seu posicionamento e outros dados. A classe Font é a classe base para todas as classes Font. Para abrir uma fonte, ele fornece um método chamado Open(). Também permite salvar a fonte no formato especificado usando o método SaveToFormat(). A enumeração FontSavingFormats especifica os tipos de fonte.

Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Font

Como converter PFB para TTF em C#

Podemos converter facilmente a fonte PFB do arquivo .pfb para o formato TTF usando Aspose.Font para .NET seguindo as etapas abaixo:

  1. Abra a fonte PFB.
  2. Especifique as configurações de saída para a fonte TTF.
  3. Salve o TTF no local desejado.

A seção a seguir explica como transformar essas etapas em C# e converter PFB em TTF.

Converter PFB para TTF usando C#

Siga as etapas abaixo para converter PFB em TTF programaticamente em C#:

  1. Em primeiro lugar, carregue o arquivo de fonte usando a classe FileSystemStreamSource.
  2. Em seguida, crie uma instância da classe FontFileDefinition com o objeto de arquivo de origem como argumento.
  3. Em seguida, inicialize o objeto de classe FontDefinition com o tipo de fonte como Type1 e o objeto FontFileDefinition.
  4. Depois disso, abra a fonte usando o método Font.Open() com o objeto FontDefinition como argumento.
  5. Por fim, chame o método SaveToFormat() para salvá-lo. Ele usa o objeto de fluxo de arquivo de saída e FontSavingFormats.TTF como argumentos.

O exemplo de código a seguir mostra como converter PFB em TTF em C#.

// Caminho do arquivo de fonte PFB Type1
string fontPath = @"C:\Files\Courier.pfb";

// Carregar o arquivo de fonte
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Criar definição de arquivo de fonte
FontFileDefinition fileDefinition = new FontFileDefinition("pfb", source);

// Criar definição de fonte
FontDefinition fontDefinition = new FontDefinition(FontType.Type1, fileDefinition);

// fonte aberta
Font font = Font.Open(fontDefinition);

// Configurações de saída TTF
FileStream outStream = File.Create(@"C:\Files\Type1ToTtf_out1.ttf");

// Converter PFB para TTF
font.SaveToFormat(outStream, FontSavingFormats.TTF);

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como converter fontes PFB Type1 em fontes True Type (TTF) em C#. Você pode aprender mais sobre Aspose.Font para .NET API usando documentação. Em caso de ambiguidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também