Usa caratteri personalizzati durante la creazione di pdf usando iReport

Versione iReport: 3.7.1

Mi sono avvicinato a questo problema in due modi.

Il mio primo metodo

Sto creando una pagina pdf in iReport e ho uno dei campi (dal database) impostato su un font Gujarati-Salarl (Un font per una lingua regionale dell’India).

Questo font è disponibile nell’elenco dei caratteri di iReport . Quando premo l’anteprima ottengo l’output desiderato, con il campo nello stile di carattere richiesto.

Tutto qui va bene.

Ma il file pdf generato contiene ancora lo stesso carattere originale in caratteri inglesi.

Il risultato è lo stesso se chiamo il rapporto dall’applicazione o da un file JAVA .

Dopo un po ‘di studio ho trovato questo, un secondo metodo

 JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "C:\\Gujrati-Saral-1.ttf"); 

Questo imposta il font del pdf nel font ttf fornito, ma ora l’intero pdf arriva nel font Guarati-saral che non è quello che sto cercando ..

C’è un modo per applicare questo font in modo specifico solo a quel particolare campo?

o

quando si passa dal secondo metodo c’è un modo per non applicare il font Guarati-saral a tutti gli altri campi tranne quello richiesto?

Dovresti utilizzare il meccanismo Font Extensions .

Dopo aver creato il font ed esportato come file jar, è necessario aggiungere il file jar generato al classpath dell’applicazione.

a) Creazione di nuovi caratteri in iReport (tramite Opzioni -> Caratteri -> Pulsante “Installa carattere”)

Creazione del nuovo descrittore di caratteri in iReport

b) Esportare il nuovo carattere (o quello esistente) come file jar in iReport (tramite Opzioni -> Caratteri -> Pulsante “Esporta come estensione”)

inserisci la descrizione dell'immagine qui

a) Creazione di nuovi caratteri in JasperReports Studio (tramite Finestra -> Preferenze -> JasperStudio -> Caratteri -> Pulsante “Aggiungi”)

b) Configura i tuoi caratteri

Esportazione di font come file jar

c) Crea JAR con i tuoi font in esso

Esporta font jar

inserisci la descrizione dell'immagine qui

Puoi trovare ulteriori informazioni sull’uso di Font Extensions qui .

se hai problemi a visualizzare caratteri UTF-8 nel pdf, dalla versione 4.8.0 di IReport, non c’è bisogno di fare nulla! Basta cambiare il carattere delle celle nella tabella da sanserif a Dejavu sans. questo è tutto.

Seleziona il campo e vai alle proprietà archiviate e cambia il

  1. selezionare DejaVu Sans come nome del font
  2. seleziona Pdf Encoding to CP1256 (Arabic)
  3. selezionare il nome del font pdf in Courier

con questi cambiamenti in ho ottenuto dati arabi che mostrano in PDF.

Per coloro che hanno bisogno della lingua russa in Jasper Reports (almeno in versioni di vecchie versioni), la combinazione seguente fa il trucco senza usare l’estensione Font:

Nome carattere: SanSerif PDF Font: Courier PDF Codifica: CP1251 PDF incorporato: Sì (non è sicuro, potrebbe funzionare anche senza)

Alexey Bakhmutov