- Первый вариант - установить шрифт по умолчанию, задав
net.sf.jasperreports.default.font.name
и / или net.sf.jasperreports.default.pdf.font.name
свойств.
Например, это были мои настройки по умолчанию в iReport (диалог Параметры -> Свойства JasperReports ):
С этими настройками (без установки стиля по умолчанию в шаблоне) у меня есть шрифт Helvetica в моем pdf , сгенерированном iReport .
После этого я изменил настройки в iReport следующим образом:
И теперь у меня есть Courier шрифт в моем pdf файле (создан iReport ):
С помощью JasperReports API вы можете установить эти свойства с помощью метода JRProperties.setProperty (ключ java.lang.String, логическое значение) .
Образец:
JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", defaultPDFFont);
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params);
JasperExportManager.exportReportToPdfFile(jasperPrint, outputFileName);
- Другой вариант - добавить стиль по умолчанию в шаблон отчета.
Пример:
<jasperReport .. topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<style name="Base" isDefault="true" hAlign="Center" vAlign="Middle" fontSize="10" pdfFontName="Courier" pdfEncoding="UTF8" isPdfEmbedded="false"/>
<queryString>
Подробнее о работе со шрифтами вы можете прочитать здесь .