Llevo algún tiempo peleándome con un report, muy sencillo, pero no por ello menos complicado de editar… Y es que con JasperReports las cosas nunca salen como esperas…
Si queremos aplicar formato a un campo de texto, campo de datos o texto estático, nos habremos dado cuenta que no es suficiente con indicar que el texto sea en negrita desde el editor iReport. Si, la preview sale en negrita, pero cuando lo compilamos y ejecutamos de manera externa, vemos que el texto no tiene el formato esperado…
Pues bien, una manera de conseguir que cierto texto, ya sea de manera completa o sólo una palabra, etc… tenga un formato específico es mas sencillo de lo que parece.
Básicamente, editamos la expression del campo o del texto estático, y le añadimos un modificador de estilo, como si de un simple tag de html se tratase.
Lo primero que tenemos que hacer es indicar que el campo de texto o datos tiene estilo. Para ello, modificamos la propierdad Markup = styled.
Luego, modificamos el contenido del campo, para darle el formato deseado.
Para un campo de texto estático:
<style isBold="true" pdfFontName="Helvetica-Bold">Algún texto en negrita</style>"
Para un campo de datos:
"<style isBold='true' pdfFontName='Helvetica-Bold'>" + $F{unCampoDeTexto} + "</style>"
Con esto conseguimos dar el formato requerido al texto. Adicionalmente, indicar que no solo se le puede aplicar estilo negrita y tipo de fuente, sino también subrayado, itálica, etc…
Para mas detalles. tenéis mas información en la documentación original de JasperReports y Styled Text: http://jasperreports.sourceforge.net/sample.reference/styledtext
Ahora ya tenéis vuestro PDF con texto formateado y con estilos propios.
Espero que lo hayáis encontrado interesante.
Jordi
Muchas gracias compa. Muy sencillo y lo más importante: funciona.