大胆不能在Jaspersoft Studio中使用除sans serif之外的字体

use*_*835 6 pdf-generation jasper-reports export-to-pdf jasperserver

在Jaspersoft Studio中,我创建了一个报告,我希望以粗体显示标题.如果我使用sans serif字体,那么它正常工作.如果我使用其他字体,则在Jaspersoft Studio的预览中会显示粗体,但在Jasper服务器中运行报告时不显示.请帮忙.

小智 11

添加 Maven 神器对我有用

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports-fonts</artifactId>
    <version>6.16.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


kee*_*ser 5

您需要创建一个jasper字体扩展jar并将其放入类路径中,包括编译时(编译jrxmls时)以及运行时(运行报告时).以下是jar(例如jasperreports-fonts-5.5.2.jar)的外观:

PIC1

PIC2

jasperreports_extension.properties应该包含一些属性初始化字体.(我已经使用了基于弹簧的字体初始化.你可能需要在你的类路径中添加几个弹簧罐,如spring-core,spring-beans等,如果还没有的话.)

net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.extensions.SpringExtensionsRegistryFactory
net.sf.jasperreports.extension.fonts.spring.beans.resource=fonts/fonts_def.xml
Run Code Online (Sandbox Code Playgroud)

现在fonts.xml定义了要添加的字体.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

   <bean id="fontBean001" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
       <property name="name" value="Tahoma"/>
       <property name="normal" value="fonts/Tahoma.ttf"/>
       <property name="bold" value="fonts/Tahoma_Bold.ttf"/>
       <property name="pdfEmbedded" value="true"/>
   </bean>

   <bean id="fontBean002" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
        <property name="name" value="Arial"/>
        <property name="normal" value="fonts/Arial.ttf"/>
        <property name="bold" value="fonts/Arial_Bold.ttf"/>
        <property name="italic" value="fonts/Arial_Italic.ttf"/>
        <property name="boldItalic" value="fonts/Arial_Bold_Italic.ttf"/>
        <property name="pdfEmbedded" value="true"/>
    </bean>

</beans>
Run Code Online (Sandbox Code Playgroud)

注意该属性"pdfEmbedded""true".最后为要添加到jar的字体添加.ttf文件.