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>
You should use the Font Extensions mechanism.
You should create a new font with Window -> Preferences dialog:

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

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 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
If your report is not being correctly rendered for any fonts, you may have some compatibility issue with iReport / JasperStudio and jasper libs in your system. I had this problem when trying to export a report to pdf using a jasper file. The solution was to compile the report inside my code like below:
InputStream reportStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("/reports.jrxml");
JasperReport report = JasperCompileManager.compileReport(reportStream);
jasperPrint = JasperFillManager.fillReport(report, parameters, dataSource);
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:
Window -> Preferences -> Jaspersoft Studio -> Fonts. You will see a box to add your .ttf file of your font. Embed this font to PDF. After that you will see your font in the list of fonts with the name as you gave earlier. That's it. Thank You.
Similar issue i faced and it got resolved by adding required font ttf file to jar or existing jasperreport-fonts.jar and adding its dependency to application.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With