Vamos a ver como usar fuentes propias en nuestros proyectos java de una manera sencilla usando Jasperreports Font Extensions. Para ello nos centraremos en la versión 5.5.1 de iReport que es la que actualmente usamos en nuestros proyectos.
PONGÁMONOS EN SITUACIÓN
El ámbito en el que se ha resuelto este problema es en el desarrollo de una aplicación de escritorio, sin embargo, esta solución es extensible a cualquier otro ámbito. La cuestión a resolver es el dichoso error “input stream not found at net/sf/jasperreports/fonts/fonts.xml” al tratar de ejecutar nuestro report en la aplicación.
Después de mucho batallar creando los jar de nuestras propias extensiones y visitar decenas de entradas en stackoverflow decidimos cambiar el objetivo y mirar un poco más la propia herramienta iReport. Así que vamos a lo que nos ocupa.
importar fuentes en ireport
Cuando queramos usar fuentes propias o fuentes del sistema debemos instalarlas en iReport. Para ello realizamos los siguientes pasos:
Dentro Herramientas > Opciones seleccionamos iReport y la pestaña fonts
Esta pantalla es la madre del cordero, en ella podemos instalar las fuentes que queramos para nuestros report y algo mucho mejor que veremos un poco más adelante.
instalar una fuente en ireport
Tomando como partida la pantalla anterior deberemos hacer clic en install font como habrás intuído
En la pantalla que nos aparece debemos ir a buscar la fuente que necesitemos instalar. (Lo que hemos hecho nosotros en sacar Courier New y Arial del directorio de fuentes de Windows)
Una vez seleccionada, hacemos clic en Siguiente y vamos a detallar los valores de la familia de nuestra fuente, que no es ni más ni menos que definir su nombre y añadir las fuentes correspondientes a negrita, cursiva y negrita-cursiva.
Adicionalmente seleccionamos el encoding del pdf y que la fuente será embebida en el documento.
En la pantalla siguiente seleccionamos el Locale.
En la última pantalla podemos definir los mapping para nuestras fuentes
Una vez hechos estos pasos podemos Terminar y emplear nuestra fuente en los report con todas garantías. Sin embargo, esto no es garantía de que si usas el report en tu proyecto se vaya a generar bien. Para eso debemos exportar nuestras fuentes.
exportar fuentes desde ireport
Para utilizar nuestras fuentes en nuestros proyectos en los que utilicemos jasperreport como herramienta para generar reportes la forma más sencilla consiste en acudir a iReport, a la pantalla que se muestra en el inicio de este artículo. En ella seleccionamos las fuentes que queremos exportar y hacemos clic en Export as Extension
Después simplemente nombramos el jar (recuerda poner la extensión .jar) y listo. Ya tenemos nuestra jasperreport font extension lista.
NOTA IMPORTANTE: Al hacer esto, nuestras fuentes estarán en el path fonts/*.ttf por lo que tenemos que tener en cuenta que el atributo pdfFontName sea fonts/*.ttf para que al ejecutar no nos de otro problema asociado: que no encuentre la fuente.
A partir de aquí está en tu mano añadir manualmente el jar a tu carpeta lib, o bien, instalarlo en tu repositorio de Maven.
Deja tu comentario