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

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 Отчет Отчет
10 июля 2026

Как настроить Content Security Policy для отчетов FastReport .NET WEB

Узнайте, как настроить Content Security Policy для отчётов FastReport .NET WEB: обзор директив и значений CSP, изменения в архитектуре FastReport, типичные сценарии обхода и способы защиты.
22 июня 2026

Как настроить отчет с Business Objects из кода и дизайнера в FastReport .NET

В этой статье рассматривается реальный пример создания и использования шаблона отчета .frx для подключения к иерархическим бизнес-объектам в FastReport .NET.
21 апреля 2026

Использование водяных знаков в FastReport VCL

В статье подробно рассмотрели функционал добавления водяных знаков в FastReport VCL — как через визуальный интерфейс, так и программно, с помощью кода на Delphi и в скриптах отчётов.

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