[Java] Caratteri distorti e spaziature errate nelle stampe di componenti swing

Discussione in 'Java' iniziata da zatarra, 29 Marzo 2018.

Tag (etichette):
  1. zatarra

    zatarra Nuovo Utente

    Registrato:
    29 Marzo 2018
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao a tutti.
    Qualcuno sa spiegarmi perché, quando stampo il contenuto di un JFrame (o, a dire il vero, qualsiasi componente swing) ciò che ottengo su stampante o PDF non è ciò che vedo a video?
    Per stampare ho provato un sacco di soluzioni trovate sul web, ma grossomodo tutte si basano su Graphics2D e print.
    In pratica gli elementi grafici sono tutti correttamente stampati, ma i testi non appaiono come li vedo a video: le spaziature tra i caratteri sono distorte, risultano molto ravvicinati, con l'aumentare della grandezza del font talmente tanto da sovrapporsi...
    Ciò è totalmente indipendente dalla stampante che utilizzo (sia essa fisica che su file PDF).
    Come posso ottenere una stampa fedele a ciò che vedo a video senza stampare l'immagine (altrimenti se qualcuno stampa su PDF non può copiare i contenuti)?
    Ho già provato a cambiare font, ma non sembra dipendere da quello.

    Per farvi un esempio: ho un pulsante con questo testo

    Limite perdita
    di carico

    che, rimpiazzo con la lingua inglese con

    Pressure drop
    limit

    Bene, se stampo l'inglese la spaziatura tra Pressure e drop ad occhio sembra corretta (non so dire se è esattamente come in video ma ci somiglia) invece stampando in italiano Limiteperdita sono praticamente appiccicati come se non ci fosse alcuno spazio (sulla stampante, ovviamente a video lo spazio si vede).

    Sono l'unico ad avere questi problemi con i testi?
    Grazie in anticipo per le risposte.

    PS: nella stessa applicazione ho implementato un esportazione in PDF che utilizza PDFWriter e PDFTemplate e qui il problema della distorsione non si presenta pur utilizzando comunque Graphics2D... Credo a questo punto che il problema stia nel passare la grafica che è generata correttamente alla stampante...
     
Sto caricando...

Condividi questa Pagina