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