【发布时间】:2014-10-22 07:01:08
【问题描述】:
我面临的问题是,JasperReports 仍然找不到 Arial 字体。
我创建了一个具有以下结构的简单 Maven 项目,并将其包含在我的主应用程序中。所以主应用程序在类路径中包含已安装的 JAR:
- jasperreports_extension.properties
- fonts
|-> arial
|-> ariali.ttf
|-> arialbi.ttf
|-> arialbd.ttf
|-> arial.ttf
|-> fonts.xml
但在将报告导出为 PDF 时,我仍然看到以下异常。
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font :
pdfFontName : Arial
pdfEncoding : Identity-H
isPdfEmbedded : true
jasperreports_extension.properties
net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.arial=fonts/fonts.xml
fonts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
<fontFamily name="Arial">
<normal>fonts/arial/arial.ttf</normal>
<bold>fonts/arial/arialbd.ttf</bold>
<italic>fonts/arial/ariali.ttf</italic>
<boldItalic>fonts/arial/arialbi.ttf</boldItalic>
<pdfEncoding>Identity-H</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
</fontFamily>
</fontFamilies>
模板
<font fontName="Arial" size="8" pdfFontName="Arial" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
【问题讨论】:
-
您使用的是什么版本的 jasper 报告?
-
JasperReport 和 iReport 版本:5.6.0
-
我在 5.5.0 上也遇到了同样的问题,我通过切换到 5.0.0 解决了这个问题
-
谢谢,但我仍然看到异常,即使使用 5.0.0
-
尝试在您的 jdk 文件夹 (jdk1.x.x_xx/jre/lib/fonts) 中添加字体。这会让你失去便携性,但至少我们可以理解问题是包装还是其他
标签: java fonts jasper-reports