【发布时间】:2016-05-10 04:18:40
【问题描述】:
我有一个问题,我没有在任何 JRXML 字段中使用 Helvetica,它被用作 Jasper PDF 报告中的默认字体。
我正在使用 iReports 4.0.2。
【问题讨论】:
我有一个问题,我没有在任何 JRXML 字段中使用 Helvetica,它被用作 Jasper PDF 报告中的默认字体。
我正在使用 iReports 4.0.2。
【问题讨论】:
net.sf.jasperreports.default.font.name 和/或 net.sf.jasperreports.default.pdf.font.name 属性来设置默认字体。例如,这是我在 iReport 中的默认设置(对话框 Options -> JasperReports Properties):
有了这个设置(没有在模板中设置默认样式),我的 pdf 中有 iReport 生成的 Helvetica 字体。 p>
之后,我更改了 iReport 中的设置,如下所示:
现在我的 pdf 文件中有 Courier 字体(由 iReport 生成):
使用 JasperReports API,您可以借助 JRProperties.setProperty(java.lang.String key, boolean value) 方法设置此属性。
样本:
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>
有关使用字体的更多信息,您可以阅读here。
【讨论】:
我使用 NetBeans,并且在我的一个项目中我想使用 Garamond 作为我的 pdf 的默认字体,所以我所做的是:
运行报告,保存,然后查看。
【讨论】: