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

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 документе

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

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.