The JRProperties
class has been annotated as deprecated and replaced by JRPropertiesUtil
as stated in the documentation
I've been using it to set the properties in a following way (since it was a class providing static methods),
JRProperties.setProperty("net.sf.jasperreports.default.font.name", defaultPDFFont);
JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
(...)
Which is I presume an unrecommended way of setting the properties now.
I've found two ways of doing so in compliance with API documentation, namely by directly using instance of JasperReportsContext
:
JasperReportsContext jasperReportsContext = DefaultJasperReportsContext.getInstance();
jasperReportsContext.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
jasperReportsContext.setProperty("net.sf.jasperreports.default.font.name", defaultPDFFont);
(...)
or by passing the JasperReportsContext
instance to JRPropertiesUtil
:
JasperReportsContext jasperReportsContext = DefaultJasperReportsContext.getInstance();
JRPropertiesUtil jrPropertiesUtil = JRPropertiesUtil.getInstance(jasperReportsContext);
jrPropertiesUtil.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
jrPropertiesUtil.setProperty("net.sf.jasperreports.default.font.name", defaultPDFFont);
(...)
So my question is:
What is the recommended way to set properties for the Report Printer?