Я пытаюсь использовать шрифт, который не установлен в моей локальной ОС, с JasperReports
. Отчет о яшме использует таким образом:
<textField>
<reportElement x="0" y="0" width="137" height="20"/>
<textElement>
<font fontName="Corbel" size="12"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{something}]]></textFieldExpression>
</textField>
Шрифт с именем Corbel
был экспортирован как расширение шрифта (с использованием iReport) и содержится в файле (Corbel.jar), в папке, в моей системе.
Я добавляю это расширение в путь к классам приложения, используя следующий код:
ClassLoader cl = new URLClassLoader(new URL[] {new URL("file:///D:/path/to/Corbel_jar_folder/")});
param = new HashMap();
param.put(JRParameter.REPORT_CLASS_LOADER, cl);
jasperReport = JasperCompileManager.compileReport("d:/path/to/Report_with_Corbel_font.jrxml");
jasperPrint = JasperFillManager.fillReport(jasperReport, param, new JREmptyDataSource());
После заполнения отчета я экспортирую его, используя JRPdfExporter
. Однако в результирующем файле PDF этот элемент не имеет примененного шрифта Corbel
. Я не включил экспорт PDF, потому что я думаю, что проблема где-то с заполнением.
Я искал и читал многочисленные сообщения и вопросы, связанные с использованием / включением шрифтов (расширения i.e.font) в JasperReports
; все же я не знаю, где находится ошибка или проблема.
Любая помощь будет принята с благодарностью.
Заранее спасибо! (извините за плохой отступ кода, и я надеюсь, что я включил достаточно деталей)