К современным электронным отчетам предъявляются довольно высокие требования - они должны не просто выводить нужную информацию, но иметь определенное оформление, формат данных, графическое наполнение. Современный отчет - сложный документ с элементами дизайна. Бурное развитие генераторов отчетов позволило повысить требования к документам.
Определенный шрифт в отчете может быть копоративным требованием или элементом дизайна. Так или иначе, многие пользователи генератора отчетов хотели бы иметь возможность использовать произвольные шрифты. И 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 документе:
Таким образом, если у вас нет необходимости разрабатывать отчеты с нестандартными шрифтами, а только их отображать или экспортировать, то не нужно устанавливать эти шрифты в систему. Это удобно, когда вы распространяете свои отчеты с кастомными шрифтами.