Использование шрифтов в отчётах без их установки в систему

27.04.2022

Использование шрифтов в отчётах без их установки в систему

К современным электронным отчетам предъявляются довольно высокие требования - они должны не просто выводить нужную информацию, но иметь определенное оформление, формат данных, графическое наполнение. Современный отчет - сложный документ с элементами дизайна. Бурное развитие генераторов отчетов позволило повысить требования к документам.

Определенный шрифт в отчете может быть копоративным требованием или элементом дизайна. Так или иначе, многие пользователи генератора отчетов хотели бы иметь возможность использовать произвольные шрифты. И FastReport.NET позволяет это делать! Речь идет о TrueTypeFonts.

Теперь вы не обязаны устанавливать шрифты в систему, для использования их в отчете. Вы можете добавлять их в отчет перед построением. Экспорт отчета в формат PDF позволяет включать произвольные шрифты в документ. Давайте рассмотрим пример, как добавлять ttf шрифты в отчет и как экспортировать отчет в формат PDF включая эти шрифты.

//Создаем отчет
Report report = new Report();
//Получаем файлы нужных шрифтов из папки
var fonts = Directory.GetFiles("Fonts");
//Каждый шрифт добавляем в конфигурацию генератора отчетов
 foreach (var font in fonts)
 {
 Config.PrivateFontCollection.AddFontFile(font);
}
//Загружаем шаблон отчета, который содержит текстовые объекты с выставленными шрифтами из папки Fonts
report.Load(@"test.frx");
//Подготавливаем отчет
report.Prepare();
//Создаем объект экспорта в PDF и настраиваем включение шрифтов в документ
var export = new PDFExport
 {
 EmbeddingFonts = true
 };
//Производим экспорт отчета
report.Export(export, File.Create(@"test.pdf"));

Что же касается самого шаблона отчета. Для того чтобы использовать нестандартные шрифты при создании в дизайнере, всё же потребуется их установить в систему (двойной клик по шрифту ttf). Если вы откроете шаблон отчета в системе, где нет шрифтов использованных в этом шаблоне, то увидите, что шрифты заменены на стандартные. Но если открыть шаблон в текстовом редакторе, то вы увидите истинные настройки шрифтов:

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

То есть, имея шаблон отчета с шрифтами, которые не установлены в систему, вы не можете редактировать его без потери настроек шрифтов, но можете построить его и экспортировать при условии, что эти шрифты будут добавлены в конфигурацию FastReport.NET.

Допустим у нас есть шаблон отчета, созданный в системе с установленными шрифтами. В приведенном выше коде мы добавляем шрифты в конфигурацию:

Шрифты для добавления в конфигурацию

Давайте перед экспортом в PDF отобразим отчет. Добавим строку “report.Show();”. Так выглядят шрифты в отчете:

Шрифты в готовом отчёте

Так выглядят шрифты в PDF документе:

Отображение шрифтов в PDF документе

Таким образом, если у вас нет необходимости разрабатывать отчеты с нестандартными шрифтами, а только их отображать или экспортировать, то не нужно устанавливать эти шрифты в систему. Это удобно, когда вы распространяете свои отчеты с кастомными шрифтами.

.NET .NET Font embedding Font embedding FastReport FastReport Отчет Отчет
16 октября 2026

Новые возможности .NET 11: обзор C# 15, EF Core 11, ASP.NET Core и производительности

Обзор .NET 11: C# 15, union-типы, новая модель безопасности памяти, Windows Forms, EF Core 11, ASP.NET Core и Blazor, ускорение Runtime и NativeAOT.
12 октября 2026

Подключение к базе данных Greenplum Database в FastReport .NET

Узнайте, как подключить Greenplum Database к FastReport .NET: сборка плагина на Npgsql, интеграция в дизайнер отчётов и регистрация коннектора в C#‑коде приложения.
12 октября 2026

Экспорт отчёта в XML из Preview в FastReport .NET

Узнайте, как сохранить отчёт в формате XML в FastReport .NET: экспорт из Preview без кода и программный экспорт через XMLExport с настройкой параметров.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»