fontsjasper-reportsexport-to-pdfjaspersoft-studio

When export a report to PDF change the font


I'm using Jaspersoft Studio 5.2, and I did a report with Courier New font, and when I exports this to PDF, it's change the font to Arial.

I'm using just the Studio tool. When I preview the report is all right, but when I export it's happens.

What can I do with my report to export with Courier New font?

My textField model that I'm using in report:

<textField pattern="dd/MM/yyyy  HH:mm:ss">
    <reportElement uuid="f50b279a-b480-498f-8af7-be7e23c4b80b" x="415" y="11" width="105" height="10"/>
    <textElement>
        <font fontName="Courier New" size="8"/>
    </textElement>
    <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>

Solution

  • 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