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:
With Font Family dialog you can set ttf file for your font:
Creating report's style
You should create a new style with help of context menu:
After that you can set font for this style:
And after that you can use this new style:
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:
And the result will be (pdf file generated by Jaspersoft Studion and opened in Adobe Reader):
Note:
You can find more info about Font Extensions here
The same problem happened to me. I tried the following way to find a solution -
If you want a font to be embedded in your Jasper Report
PDF file viewer and that font is not available in your font list, all you have to do is:
- First download the .ttf file of your font you have to embed.
- After that, Go to
Window -> Preferences -> Jaspersoft Studio -> Fonts
. You will see a box to add your .ttf file of your font. - Add the .ttf file of your font and tick
Embed this font to PDF
. After that you will see your font in the list of fonts with the name as you gave earlier. - Select the font and export it to .jar file. And add that jar file of your font to the class path of your application if you want to view the pdf from your application.
That's it. Thank You.