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
26 de abril de 2023

How to use RFID tags in FastReport .NET

The new page object is an RFID tag in FastReport.NET allows users to use the library to create labels or maps without third-party programs
20 de abril de 2023

How to update FastReport Online Designer to the latest version

Step-by-step instructions for updating FastReport Online Designer to the latest version via the client panel.
14 de março de 2023

The Future of Report Generation with Blazor WebAssembly

Step-by-step instructions for creating a demo application on .NET 6 and 7 directly in the browser using Blazor WebAssembly in FastReport .NET.
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.