mki*_*erc 5 java jasper-reports
该JRProperties班已经被注释为过时,取而代之JRPropertiesUtil的文档中所述
我一直在使用它以下列方式设置属性(因为它是一个提供静态方法的类),
JRProperties.setProperty("net.sf.jasperreports.default.font.name", defaultPDFFont);
JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
(...)
Run Code Online (Sandbox Code Playgroud)
我认为这是一种不推荐的设置属性的方法。
我找到了两种符合 API 文档的方法,即直接使用的实例JasperReportsContext:
JasperReportsContext jasperReportsContext = DefaultJasperReportsContext.getInstance();
jasperReportsContext.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
jasperReportsContext.setProperty("net.sf.jasperreports.default.font.name", defaultPDFFont);
(...)
Run Code Online (Sandbox Code Playgroud)
或者通过将JasperReportsContext实例传递给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);
(...)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
为报告打印机设置属性的推荐方法是什么?
您当前的建议方法没有区别,但如果您正在寻找设置属性的正常方法。
这些属性是从.properties文件和您的jrxml文件加载的。
这是覆盖结构
default.jasperreports.properties从分布中加载属性
jasperreports.properties如果您的发行版的根包中提供了这些属性,则加载/覆盖这些属性
如果在 jrxml报告级别中指定,则加载/覆盖属性
<jasperReport...>
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
...
</jasperReport>
Run Code Online (Sandbox Code Playgroud)如果在 jrxml元素级别中指定,则加载/覆盖属性
<reportElement>
<property name="net.sf.jasperreports.export.html.class" value="test"/>
</reportElement>
Run Code Online (Sandbox Code Playgroud)您还可以使用 jrxml设置动态属性
<propertyExpression name="net.sf.jasperreports.export.xls.sheet.name"><![CDATA[$F{SheetName}]]></propertyExpression>
Run Code Online (Sandbox Code Playgroud)
阅读更多内容以了解如何使用 IDE:properties-how-use-additional-properties-build-enhanced-reports
那么你应该把你的财产放在哪里呢net.sf.jasperreports.awt.ignore.missing.font=true?
您不应该使用它,它会造成导出不一致,您应该使用字体扩展,请参阅我对此的回答Font is not available to the JVM with Jasper Reports
如果您不在乎,请将其放在 jasperreports.properties或jrxml报告级别
| 归档时间: |
|
| 查看次数: |
7013 次 |
| 最近记录: |