Jasper reports 选中标记(Wingdings字体)未显示在pdf导出上

Jasper reports 选中标记(Wingdings字体)未显示在pdf导出上,jasper-reports,Jasper Reports,该复选框在预览报告时正确显示,但在导出为pdf时不显示 <staticText> <textElement textAlignment="Center"> <font fontName="Wingdings" size="18"/> </textElement> <text><![CDATA[]]></text> </staticText> 复选标记已从word文档复制到此处 Wingd

该复选框在预览报告时正确显示,但在导出为pdf时不显示

<staticText>
 <textElement textAlignment="Center">
  <font fontName="Wingdings" size="18"/>
 </textElement>
 <text><![CDATA[]]></text>
</staticText>
复选标记已从word文档复制到此处

Wingdings是Jasper中的内置字体,因此我想没有必要将其添加为字体扩展

我正在使用Jaspersoft Studio 5.6

这就是我选择字体的方式,所以我假设它内置在Jasper中


我不认为温丁斯是贾斯珀的内在特征。您可以通过尝试在PDF字体名称属性的“高级属性”选项卡中找到它来确认这一点。在XML视图中,您可以放置:

<font fontName="Wingdings" pdfFontName="Wingdings"/>
和字体扩展配置:

<fontFamilies>
    <fontFamily name="Wingdings">
        <normal>fonts/wd/wingding.ttf</normal>
        <pdfEncoding>Identity-H</pdfEncoding>
        <pdfEmbedded>true</pdfEmbedded>
    </fontFamily>
</fontFamilies>

您好,我添加了wingdings字体,如上图所示。由于它在下拉列表中可用,我的假设正确吗,字体是内置的?谢谢你解释得很好
<fontFamilies>
    <fontFamily name="Wingdings">
        <normal>fonts/wd/wingding.ttf</normal>
        <pdfEncoding>Identity-H</pdfEncoding>
        <pdfEmbedded>true</pdfEmbedded>
    </fontFamily>
</fontFamilies>
ArrayList<String> tmp;
tmp = new ArrayList<String>();
tmp.add(FontFactory.COURIER);
tmp.add(FontFactory.COURIER_BOLD);
tmp.add(FontFactory.COURIER_OBLIQUE);
tmp.add(FontFactory.COURIER_BOLDOBLIQUE);
fontFamilies.put(FontFactory.COURIER.toLowerCase(), tmp);
tmp = new ArrayList<String>();
tmp.add(FontFactory.HELVETICA);
tmp.add(FontFactory.HELVETICA_BOLD);
tmp.add(FontFactory.HELVETICA_OBLIQUE);
tmp.add(FontFactory.HELVETICA_BOLDOBLIQUE);
fontFamilies.put(FontFactory.HELVETICA.toLowerCase(), tmp);
tmp = new ArrayList<String>();
tmp.add(FontFactory.SYMBOL);
fontFamilies.put(FontFactory.SYMBOL.toLowerCase(), tmp);
tmp = new ArrayList<String>();
tmp.add(FontFactory.TIMES_ROMAN);
tmp.add(FontFactory.TIMES_BOLD);
tmp.add(FontFactory.TIMES_ITALIC);
tmp.add(FontFactory.TIMES_BOLDITALIC);
fontFamilies.put(FontFactory.TIMES.toLowerCase(), tmp);
fontFamilies.put(FontFactory.TIMES_ROMAN.toLowerCase(), tmp);
tmp = new ArrayList<String>();
tmp.add(FontFactory.ZAPFDINGBATS);
fontFamilies.put(FontFactory.ZAPFDINGBATS.toLowerCase(), tmp);