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

Jasper reports Jasper在pdf中使用了不需要的Helvetica字体,jasper-reports,ireport,Jasper Reports,Ireport,我有一个问题,Helvetica,我没有在我的任何JRXML字段中使用,正被用作Jasper PDF报告中的默认字体 我正在使用iReports 4.0.2。 第一种变体是通过设置net.sf.jasperreports.default.font.name和/或net.sf.jasperreports.default.pdf.font.name属性来设置默认字体 例如,这是我在iReport中的默认设置(对话框选项->JasperReports属性): 有了这些设置(没有在模板中设置默认样式

我有一个问题,Helvetica,我没有在我的任何JRXML字段中使用,正被用作Jasper PDF报告中的默认字体

我正在使用iReports 4.0.2。

  • 第一种变体是通过设置
    net.sf.jasperreports.default.font.name
    和/或
    net.sf.jasperreports.default.pdf.font.name
    属性来设置默认字体
例如,这是我在iReport中的默认设置(对话框选项->JasperReports属性):

有了这些设置(没有在模板中设置默认样式),我就有了iReport生成的pdf中的Helvetica字体

之后,我在iReport中更改了如下设置:

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

使用JasperReports API,您可以在方法的帮助下设置此属性

样本:

JRProperties.setProperty(“net.sf.jasperreports.default.pdf.font.name”,defaultpdffort);
JasperReport-JasperReport=JasperCompileManager.compileReport(reportSource);
JasperPrint JasperPrint=JasperFillManager.fillReport(jasperReport,参数);
jaspeexportmanager.exportReportToPdfFile(jasperPrint,outputFileName);
  • 另一个变体是在报表模板中添加默认样式
例如:




有关使用您可以阅读的字体的更多信息。

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

  • 工具->选项
  • 在IReport下,单击字体选项卡
  • 安装字体
  • 单击“导出为扩展名按钮”,将其导出为jar文件
  • 添加到类路径

  • 运行报告,保存它,然后查看它。

    我们将属性设置如下:net.sf.jasperreports.default.font.name=SansSerif net.sf.jasperreports.default.font.size=10 net.sf.jasperreports.default.pdf.font.name=heisemin-W3 net.sf.jasperreports.default.pdf.encoding=Cp1252 net.sf.jasperreports.default.pdf.embedded=true net.sf.jasperreports.awt.ignore.missing.font=false但helvetica仍然出现在文件属性->字体选项卡中。但我们从未在模板中的任何地方使用过该字体。请帮忙。你能在jrxml文件中搜索短语“Helvetica”吗。结果如何?未找到“Helvetica”。还有一个链接中的评论=>“只要你在报告中有一个使用字体扩展的默认样式,隐藏的页面锚就会使用它,并且不会在生成的PDF中出现Helvetica。”我无法忍受,你能解释一下吗?你提供的链接告诉我这是旧iReport版本的错误。您可以在templateim中设置默认字体,通过API导出pdf。在ireport中,我使用的是isPdfFont、isPdfEncoding和isEmbedded字体选项。但是在4.0.3版本中有DefaultPdfont选项吗?