2010-09-08 29 views
6

Tengo una aplicación Java que está generando JasperReports. Creará hasta tres JasperPrints de un solo informe: uno se imprime en la impresora, uno se serializa y se guarda en la base de datos, y el tercero se exporta a PDF utilizando la capacidad de exportación incorporada de Jasper.Exportación de un informe de Jasper a PDF, caracteres que faltan

El problema es que al exportar a PDF, los caracteres que contienen 8 o más bits (es decir, no ASCII de 7 bits) se muestran como cuadrados vacíos, lo que significa que Acrobat Reader no puede mostrar ese carácter. La versión impresa es correcta y la carga de la versión de la base de datos e impresión se muestra correctamente. Si cambio la versión exportada en PDF a un formato diferente, p. XML, el personaje aparece bien en un navegador web.

Según la evidencia, creo que el problema es específico del manejo de fuentes en archivos PDF, pero no estoy seguro de qué.

La fuente utilizada es Lucida Sans Typewriter, una fuente monoespaciada Unicode. El directorio de "fuentes" de Windows se enumera en el classpath de Java: sin este paso, la exportación de PDF falla miserablemente con cero texto, así que sé que está buscando la fuente.

Los caracteres específicos que no se muestran son de caracteres utilizados en el texto español con acento: á, é, í, ó y ú. No he comprobado ñ, pero supongo que eso tampoco funcionará.

¿Alguna idea sobre cuál es el problema, las áreas del sistema que se deben verificar o los parámetros que debo enviar al proceso de exportación?

Respuesta

2

La codificación PDF utilizada para exportar era UTF-8, y aparentemente la fuente no lo admitía correctamente. Cuando lo cambié a ISO-8859-1, cada personaje apareció correctamente en la salida PDF.

+6

¿dónde se establece esa propiedad? –

0

En iReport, intente configurar la propiedad Pdf Embedded de sus TextFields en verdadero.

+0

Esta propiedad ya se estableció como verdadera. –

Cuestiones relacionadas