【发布时间】:2019-09-08 07:28:13
【问题描述】:
我想在我的报告中使用字体真棒图标,例如带有人名的用户图标我已经尝试使用 Unicode,即使我能够使用 Unicode 打印一些图标但不是所有图标。
是否可以在报告中加载字体超棒的图标?
【问题讨论】:
标签: jasper-reports
我想在我的报告中使用字体真棒图标,例如带有人名的用户图标我已经尝试使用 Unicode,即使我能够使用 Unicode 打印一些图标但不是所有图标。
是否可以在报告中加载字体超棒的图标?
【问题讨论】:
标签: jasper-reports
要使用您需要的字体,请先下载它并将其包含为custom font-extension。
这就是我定义它们的方式
fa-regular-400.ttf 为常规,fa-solid-900.ttf 为粗体
现在您可以开始在您的报告中的文本字段中使用它们,使用 unicode characters expressions,注意它不在 静态文本 字段中工作(因为它没有被评估)。要知道正确的 unicode 结帐FontAwesome site,一旦你点击一个图标,它就会显示 unicode。
jrxml
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="FontAwsome" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="570800da-28d0-4e48-a0f5-806208bd875e">
<queryString>
<![CDATA[]]>
</queryString>
<title>
<band height="65" splitType="Stretch">
<textField>
<reportElement x="10" y="10" width="300" height="40" uuid="641fe55c-008a-4d90-a7c8-076a03488299"/>
<textElement>
<font fontName="FontAwesome" size="20" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["\uf080 \uf1fe \uf200"]]></textFieldExpression>
</textField>
</band>
</title>
</jasperReport>
您需要将fontName 设置为与您在字体扩展中定义的相同,并注意(在免费版本中)所有符号都不会以常规和实心(粗体)出现。实际上,在我的情况下,我不得不将文本字段设置为粗体,因为这些符号仅存在于 fa-solid-900.ttf
输出
【讨论】: