En este tutorial vamos a ver cómo añadir todas las fuentes que necesitamos para poder gerenar PDFs desde Java medienta la librería de “jasperreports”.
Para la generación de PDFs desde Java vamos a utilizar la librería “jasperreports-6.0.4.jar” que se puede incluir fácilmente en un proyecto maven añadiendo la siguiente dependencia:
XML |copy code |?
1 <dependency>
2 <groupId>net.sf.jasperreports</groupId>3 <artifactId>jasperreports</artifactId>4 <version>6.0.4</version>5 </dependency>
Esto incluirá en nuestro proyecto una libraría con el nombre “jasperreports-6.0.4.jar”. También se puede añadir una librería adicional de jasperreports que contiene una extensión con diferentes fuentes utilizando la siguiente dependencia en maven:
XML |copy code |?
1 <dependency>
2 <groupId>net.sf.jasperreports</groupId>3 <artifactId>jasperreports-fonts</artifactId>4 <version>6.0.0</version>5 </dependency>
Con estas dos librerías en nuestro proyecto podremos crear informes en PDF pero veremos que si utilizamos alguna fuentes por ejemplo en negrita, en el PDF que se genera no se verán estos caracteres en negrita, sino que serán impresos con la fuente por defecto de jasperReports.
Añadir nuevas fuentes
En este tutorial vamos a añadir dos nuevas fuentes para “Arial” y “Arial bold”, que nos permitirá poder generar informes utilizando la fuente arial normal y negrita. Para ello lo que vamos a generar es una nueva librería en la que incluiremos los ficheros de las fuentes y un fichero XML con el “índice” de fuentes que se han incluido.
1.- Crear proyecto Eclipse
Creamos un proyecto Java nuevo en Eclipse y en la carpeta raíz del proyecto vamos a crear el fichero de propiedades que se necesita para configurar la nuevas fuentes de JasperReports. Este fichero se debe llamar “jasperreports_extension.properties“, y tendrá un contenido como el siguiente:
Java |copy code |?
1 net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory2 net.sf.jasperreports.extension.simple.font.families.myfamily=fonts/listado-fuentes.xml
De las líneas anteriores hay que fijarse en el nombre del fichero donde se incluirán las diferentes familias de fuentes que se van a añadir, en nuestro ejemplo se llama “listado-fuentes.xml“.
2.- Incluir fichero fuentes (.ttf)
El siguiente paso es incluir en el proyecto los ficheros “.ttf” de cada una de las fuentes que queramos añadir. Para ello creamos una nueva carpeta con el nombre “fonts” y añadimos en ella cada uno de estos ficheros, en nuestro ejemplo añadiremos los ficheros “arial.ttf” y “arialbd.ttf”.
En esta misma carpeta “fonts” debemos crear el fichero con el nombre “listado-fuentes.xml” con el listado de todas las familias de fuentes a incluir, en nuestro caso la familia sera “arial” pero añadimos tanto la fuente normal como en negrita:
XML |copy code |?
1 <?xml version="1.0" encoding="UTF-8"?>
2 <fontFamilies>
3 <fontFamily name="Arial">
4 <normal><![CDATA[fonts/arial.ttf]]></normal>5 <bold><![CDATA[fonts/arialbd.ttf]]></bold>6 </fontFamily>
7 </fontFamilies>
3.- Generación librería MisFuentes.jar
Una vez completados los pasos anteriores únicamente queda empaquetar el proyecto y generear un fichero “.jar” para añadir al proyecto java con el que se generarán los informes en PDF con la librería de JasperReports. Para esto vamos a crear un fichero “build.xml” de ant con el siguiente contenido, este fichero también lo creamos en el raíz del proyecto del Eclipse:
XML |copy code |?
01 <project name="MisFuentes" >
02 <target name="crear-jar">
03 <mkdir dir="build/jar"/>
04 <jar destfile="build/jar/MisFuentes.jar">
05 <fileset refid='files.for.jar'/>
06 <manifest>
07 <attribute name='Specification-Version' value='1.0'/>
08 <attribute name='Specification-Title' value='Mis fuentes' />
09 </manifest>
10 </jar>
11 </target>
12 13 <fileset id="files.for.jar" dir=".">
14 <include name="fonts/*"/>
15 <include name="jasperreports_extension.properties"/>
16 </fileset>
17 18 </project>
Ejecutando la tarea ant que hemos llamado “crear-jar” obtendremos el fichero “MisFuentes.jar” que únicamente deberemos añadir a las librerías del proyecto Java desde el que se van a generar los informes en PDF mediante JasperReports.
Con esto ya tendemos las fuentes “Arial” disponibles en nuestros informes.
Deja tu comentario