gpt4 book ai didi

java - 碧 Jade 报告 : Font extension not working

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:08:39 28 4
gpt4 key购买 nike

我在导出为 PDF 的一份报告中使用了多种字体,我正在使用 IREPORT 来设计我的报告。

在预览部分中,报告看起来不错,但是当我从我的网络应用程序中导出它时,看起来我对整个报告使用了一种字体。

我搜索了这个问题,找到了两个解决方案:

  1. 从 IREPORT 中将字体导出为 .jar 文件并将其添加到我的项目中 [这不是一种干净的方式,因为我使用的是 Maven]。

  2. 使用 jasperreports_extension.properties [我遇到问题的那个!]。

我关注了this教程一步一步但仍然没有结果没有错误没有什么。

这是我使用的代码:

jasperreports_extension.properties:

net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.myfamily=fonts/fonts.xml

fonts.xml:

<?xml version="1.0" encoding="UTF-8"?>

<fontFamilies>

<fontFamily name="Arial">
<normal><![CDATA[fonts/arial.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>

<fontFamily name="Algerian">
<normal><![CDATA[fonts/Algerian.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>

<fontFamily name="Bell Mt">
<normal><![CDATA[fonts/bell-mt.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>

<fontFamily name="Savoye Std">
<normal><![CDATA[fonts/SavoyeStd.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>

<fontFamily name="Cambria">
<normal><![CDATA[fonts/Cambria.ttf]]></normal>
<normal><![CDATA[fonts/cambriab.ttf]]></normal>
<normal><![CDATA[fonts/cambriai.ttf]]></normal>
<normal><![CDATA[fonts/cambriaz.ttf]]></normal>
<pdfEmbedded><![CDATA[true]]></pdfEmbedded>
</fontFamily>

</fontFamilies>

因为我使用的是 spring,所以我也尝试了这个 fonts.xml:

<?xml version="1.0" encoding="UTF-8"?>

<beans:beans

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"

xmlns:jee="http://www.springframework.org/schema/jee"

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.3.xsd

http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">

<beans:bean id="Arial" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">

<beans:property name="name" value="Arial"/>
<beans:property name="normal" value="fonts/arial.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>

</beans:bean>

<beans:bean id="Algerian" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">

<beans:property name="name" value="Algerian"/>
<beans:property name="normal" value="fonts/Algerian.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>

</beans:bean>

<beans:bean id="BellMt" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">

<beans:property name="name" value="Bell Mt"/>
<beans:property name="normal" value="fonts/bell-mt.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>

</beans:bean>

<beans:bean id="SavoyeStd" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">

<beans:property name="name" value="Savoye Std"/>
<beans:property name="normal" value="fonts/SavoyeStd.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>

</beans:bean>

<beans:bean id="Cambria" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">

<beans:property name="name" value="Cambria"/>
<beans:property name="normal" value="fonts/Cambria.ttf"/>
<beans:property name="bold" value="fonts/cambriab.ttf"/>
<beans:property name="italic" value="fonts/cambriai.ttf"/>
<beans:property name="boldItalic" value="fonts/cambriaz.ttf"/>
<beans:property name="pdfEncoding" value="Identity-H"/>
<beans:property name="pdfEmbedded" value="true"/>

</beans:bean>

</beans:beans>

以及根包中font文件夹中的字体文件。

最佳答案

非常感谢@Tunaki 帮助我解决了这个问题。

通过将 jasperreports_extension.propertiesfonts 文件夹 放在项目的根目录中解决了这个问题,如下所示:

enter image description here

关于java - 碧 Jade 报告 : Font extension not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36625929/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com