Problema con la stampa di un PDF con Java PDFRenderer
-
10-10-2019 - |
Domanda
Io corro in un problema cercando di stampare un rapporto di cristallo in java in cui tutto il testo viene sostituito con i piccoli personaggi box. Il blob report viene memorizzato in un database Oracle, e posso vedere in anteprima utilizzando adobe reader e vedere che sia adeguatamente formato con il testo vero e proprio. Questo blob è passato a un applet Java che utilizza il PDFRenderer per stamparlo.
La mia teoria è che le bugie problema nel fatto che i rapporti di cristallo che si generano utilizzare la versione 1.2 di PDF. Ci sono anche una serie di jasperreports che vengono generati in versione 1.4 e questi di stampa correttamente - è solo 1,2 file PDF che hanno questo problema
.non PDFRenderer non supporta la stampa di questa versione o c'è alcuni passaggi aggiuntivi che devo prendere per stampare correttamente quelli?
Ogni aiuto è molto apprezzato.
Soluzione
E 'molto improbabile che si verifica un problema che è dovuto alla versione PDF.
In particolare con il contenuto del testo get PDF spec è molto complesso e la probabilità è alta che i rapporti di cristallo crea contenuti che o
- si affida a qualche strano encoding
- utilizza CID (multibyte) tecniche di carattere
e pdf renderer ha un punto cieco lì.
Si può provare a giocare con le impostazioni sul lato per quanto riguarda il rapporto
- encoding
- di font (Type1 / TrueType9)
- l'incorporamento dei caratteri
e forse trovare una soluzione migliore adatta.
Altri suggerimenti
non PDFRenderer visualizzare i PDF se lo si utilizza come un visualizzatore? PDFRenderer non ha il supporto per le versioni successive PDF (cioè oggetti compressi), ma 1.2 è abbastanza straight-forward.