不需要的Helvetica字体在Jasper的pdf中使用

时间:2011-11-25 13:09:35

标签: jasper-reports ireport

我遇到的问题是,我在任何JRXML字段中都没有使用的Helvetica被用作Jasper PDF报告中的默认字体。

我正在使用iReports 4.0.2。

2 个答案:

答案 0 :(得分:5)

  • 第一个变体是通过设置 net.sf.jasperreports.default.font.name 和/或 net.sf.jasperreports.default.pdf.font.name 属性来设置默认字体。

例如,它是 iReport 中的默认设置(对话框选项 - > JasperReports属性):

default settings

使用此设置(未在模板中设置默认样式)我在 iReport 生成的 pdf 中包含 Helvetica 字体。

之后我更改了 iReport 中的设置:

set another font

现在我的 pdf 文件中有 Courier 字体(由 iReport 生成):

pdf

使用 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

答案 1 :(得分:2)

我使用NetBeans,在我的一个项目中,我想使用Garamond作为我的pdf的默认字体,所以我做的是:

  1. 工具 - &gt;选项
  2. 在IReport下,单击“字体”选项卡
  3. 安装字体
  4. 点击&#34;导出为扩展按钮&#34;将其导出为jar文件。
  5. 添加到课程路径。
  6. 运行报告,保存,然后查看。