加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JasperReports 5.6:无法加载以下字体

发布时间:2020-12-15 00:50:41 所属栏目:Java 来源:网络整理
导读:我面临的问题是,JasperReports仍然无法找到Arial字体. 我创建了一个简单的Maven项目,其结构如下,并将其包含在我的主应用程序中.因此主应用程序在classpath中包含已安装的JAR: - jasperreports_extension.properties- fonts |- arial |- ariali.ttf |- arial
我面临的问题是,JasperReports仍然无法找到Arial字体.

我创建了一个简单的Maven项目,其结构如下,并将其包含在我的主应用程序中.因此主应用程序在classpath中包含已安装的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"/>

解决方法

问题是模板本身:在一个字体标签处< fontName>财产缺失:

不起作用:

<font size="12" isBold="true" pdfFontName="Arial"/>

工作:

<font fontName="Arial" size="12" isBold="true" pdfFontName="Arial" pdfEncoding="Identity-H" isPdfEmbedded="true"/>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读