2010-09-08 19 views
6

Possiedo un'applicazione Java che genera JasperReports. Creerà fino a tre JasperPrint da un singolo report: uno stampa sulla stampante, uno è serializzato e salvato nel database e il terzo viene esportato in PDF usando la funzionalità di esportazione integrata di Jasper.Esportare un file Jasper in PDF, caratteri mancanti

Il problema è che durante l'esportazione in PDF, i caratteri contenenti 8 o più bit (ad esempio ASCII a 7 bit) vengono visualizzati come quadrati vuoti, ovvero Acrobat Reader non è in grado di visualizzare quel carattere. La versione stampata è corretta e il caricamento della versione del database e la sua stampa sono visualizzati correttamente. Se cambio la versione esportata in PDF in un formato diverso, ad es. XML, il personaggio si presenta bene in un browser web.

Sulla base delle prove, credo che il problema sia qualcosa di specifico per la gestione dei font nei PDF, ma non sono sicuro di cosa.

Il font utilizzato è Lucida Sans Typewriter, un font monospazio Unicode. La directory "font" di Windows è elencata nel classpath Java: senza questo passaggio, l'esportazione del PDF fallisce miseramente con il testo zero, quindi so che sta trovando il font.

I caratteri specifici non visualizzati sono caratteri utilizzati nel testo spagnolo accentati: á, é, í, ó e ú. Non ho controllato ñ ma suppongo che non funzionerà.

Qualche idea qual è il problema, le aree del sistema da controllare, o forse i parametri che devo inviare al processo di esportazione?

risposta

2

La codifica PDF utilizzata per l'esportazione era UTF-8 e apparentemente il font non lo supportava correttamente. Quando l'ho modificato in ISO-8859-1, ogni carattere si presentava correttamente nell'output PDF.

+6

dove si imposta quella proprietà? –

0

In iReport, provare a impostare la proprietà Pdf Embedded su TextFields su true.

+0

Questa proprietà era già impostata su true. –

Problemi correlati