jasperreports在linux环境和Windows环境下字体的设置

1.maven依赖

        <!--版本为6.0.3-->
        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>6.0.3 </version>
        </dependency>

        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>

特别之处版本为6.0.3的原因:这个版本包含itextpdf, itext-pdfa这两个;虽然也可以额外添加这两个依赖,但其它版本包含 itext包,版本为2.1.*.js系列,这个maven不会自动下载,容易出错。

2.jasperReport中字体的设置

fontName
PDF字体设置

对应的jrxml代码为:

<staticText>
    <reportElement x="0" y="0" width="60" height="43" backcolor="#E32522" uuid="572b4181-a6ab-41fc-88a3-759d44274eda"/>
    <box padding="5">
        <pen lineWidth="0.5"/>
    </box>
    <textElement textAlignment="Center" verticalAlignment="Middle">
            <font fontName="SansSerif" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
    </textElement>
    <text><![CDATA[序号]]></text>
</staticText>

注意:虽然fontName可以选择宋体,华文中宋等,但强烈建议SansSerif,因为在Linux上运行容易报错。

3.jasperReport在Linux上运行的找不到字体问题

问题:net.sf.jasperreports.engine.util.JRFontNotFoundException: Font ‘宋体’ is not available to the JVM.
原因:因为你的fontName选择的是宋体,而不是SansSerif。我也试过选择宋体,或者华文中宋,并将字体文件放到classpath目录下,同时添加jasperreports.properties 文件,结果不行。最后只能是fontName=”SansSerif”————记录下这个问题,今天试了一天才解决~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值