Como usar fontes em relatórios sem instalá-las no sistema

2022-04-27

Como usar fontes em relatórios sem instalá-las no sistema

Os relatórios eletrônicos modernos têm requisitos bastante altos, eles não devem apenas exibir as informações necessárias, mas ter um design específico, formato de dados e conteúdo gráfico. Um relatório moderno é um documento complexo com elementos de design. O rápido desenvolvimento dos geradores de relatórios aumentou os requisitos para documentos.

Uma fonte específica em um relatório pode ser um requisito corporativo ou um elemento de design. De qualquer forma, muitos usuários do gerador de relatórios gostariam de poder usar fontes arbitrárias. E FastReport.NET permite fazer isso! É TrueTypeFonts.

Agora você não é obrigado/-a a instalar fontes no sistema para usá-los no relatório. Você pode adicioná-los ao relatório antes de o criar. A exportação de um relatório para PDF permite incluir fontes arbitrárias no documento. Vejamos um exemplo de como adicionar fontes ttf a um relatório e como exportar um relatório para PDF, incluindo essas fontes.

//Criamos um relatório
Report report = new Report();
//Obtemos os arquivos de fontes desejados da pasta
var fonts = Directory.GetFiles("Fonts");
//Adicione cada fonte à configuração do gerador de relatórios
 foreach (var font in fonts)
 {
 Config.PrivateFontCollection.AddFontFile(font);
}
//Baixemos um modelo de relatório que contém objetos de texto com fontes definidas na pasta Fontes
report.Load(@"test.frx");
//Preparamos um relatório
report.Prepare();
//Criamos um objeto de exportação para PDF e configuramos a inclusão de fontes no documento
var export = new PDFExport
 {
 EmbeddingFonts = true
 };
//Realizamos a exportação do relatório
report.Export(export, File.Create(@"test.pdf"));

Quanto ao próprio modelo de relatório. Para usar fontes não padrão ao criar no designer, você ainda precisará instalá-las no sistema (clique duas vezes na fonte ttf). Se você abrir um modelo de relatório em um sistema que não tenha as fontes usadas nesse modelo, verá que as fontes foram substituídas pelas fontes padrão. Mas se você abrir o modelo em um editor de texto, verá as verdadeiras configurações de fonte:

<TextObject Name="Text8" Left="359.1" Width="179.55" Height="18.9" 
Text="Roboto-Black.ttf" Font="Roboto Black, 10pt"/>

Ou seja, tendo o modelo de relatório com fontes que não estão instalados no sistema, você não pode editá-lo sem perder as configurações de fontes, mas pode construir e exportar, desde que essas fontes serão adicionados à configuração do FastReport.NET.

Digamos que temos um modelo de relatório criado em um sistema com fontes instaladas. No código acima, adicionamos fontes à configuração:

Fontes para adicionar à configuração

Vamos exibir o relatório antes de exportar para PDF. Adicionamos uma linha "report.Show();”. É assim que as fontes do relatório se parecem:

Fontes no relatório finalizado

É assim que as fontes se parecem em um documento PDF:

Visualização de fontes em um documento PDF

Portanto, se você não precisar desenvolver relatórios com fontes não padrão, mas apenas exibi-los ou exportá-los, não precisará instalar essas fontes no sistema. Isso é útil quando você distribui seus relatórios com fontes personalizadas.

.NET .NET Font embedding Font embedding FastReport FastReport Report Report
30 de maio de 2025

Abrimos arquivos com a extensão FP3 usando o FastReport Viewer

O FastReport Viewer é a solução ideal para trabalhar com arquivos FP3, é permite abrir, visualizar, imprimir e exportar relatórios com facilidade.
22 de abril de 2025

Working with XML and JSON Formats in FastScript

In this article, we will take a closer look at how to work with JSON and XML in FastReport, see what properties and methods they have, and build reports from code with scripts.
22 de abril de 2025

Working with the TfrShellTreeView Component in FastReport VCL

In this article, we will look at the TfrShellTreeView component. It is designed to display file system elements and is partially analogous to the TDirectoryListBox, TDirectoryOutline, and TShellTreeView components.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.