When export a report to PDF change the font

You should use the Font Extensions mechanism.

Steps

Creating font in Jaspersoft Studio

You should create a new font with Window -> Preferences dialog:

enter image description here

With Font Family dialog you can set ttf file for your font:

enter image description here

Creating report’s style

You should create a new style with help of context menu:

enter image description here

After that you can set font for this style:

enter image description here

And after that you can use this new style:

enter image description here

The sample

The jrxml file:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version last-->
<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="test_courier" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2010b76c-0fe5-4a27-9c86-6846a6f9cc6a">
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="Sample DB"/>
    <style name="CustomFont" fontName="Courier New"/>
    <queryString>
        <![CDATA[select task from tasks]]>
    </queryString>
    <field name="TASK" class="java.lang.String"/>
    <title>
        <band height="79" splitType="Stretch">
            <staticText>
                <reportElement uuid="9205f787-f3b4-4b21-b2d9-19f52824e187" style="CustomFont" x="280" y="36" width="70" height="20"/>
                <textElement/>
                <text><![CDATA[Title]]></text>
            </staticText>
        </band>
    </title>
    <detail>
        <band height="20" splitType="Stretch">
            <textField>
                <reportElement uuid="f23e8674-c45d-4dc7-92f3-93e5d0b41c16" style="CustomFont" x="0" y="0" width="70" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{TASK}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

The report’s design in Studio:

enter image description here

And the result will be (pdf file generated by Jaspersoft Studion and opened in Adobe Reader):

enter image description here


Note:

You can find more info about Font Extensions here

Leave a Comment