Saltar al contenido

Caracteres Unicode en iText PDF

Solución:

Necesita una fuente Unicode. Aquí hay un ejemplo:

BaseFont bf = BaseFont.createFont("arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

Paragraph p = new Paragraph("Şinasi ıssız ile ağaç", new Font(bf, 22));

document.add(p);

http://abdullahakay.blogspot.com/2011/11/java-itext-unicode.html

EDITAR:

Aquí, el nombre del archivo de fuente arialuni.tff es un recurso estático directamente debajo /src/main/resources/ y puede ser cualquier archivo de fuente Unicode de su elección. Aquí hay una lista de archivos de fuentes Unicode gratuitos disponibles en línea.

Depende de la fuente y la codificación utilizadas. encontré algo como esto:

http://itext-general.2136553.n4.nabble.com/Polish-National-Characters-are-not-getting-displayed-in-the-PDF-created-by-iTExt-td2163833.html

Hay un ejemplo como este:

BaseFont bf = BaseFont.createFont("c:/windows/fonts/arial.ttf", 
BaseFont.CP1250, BaseFont.EMBEDDED); 
Font font = new Font(bf, 12); 
String polish = "u0104u0105u0106u0107u0118u0119"; 
document.add(new Paragraph(polish, font)); 

Recuerde que algunas fuentes no contienen caracteres nacionales polacos.

En caso de que esté utilizando el paquete com.itextpdf.kernel, puede utilizar cualquier codificación que no esté presente en la clase PdfEncodings

PdfWriter writer ;
writer = new PdfWriter( dest ) ;
PdfDocument pdf = new PdfDocument( writer ) ;

Document document = new Document( pdf ) ;

FontProgram fontProgram = FontProgramFactory.createFont( ) ;
PdfFont font = PdfFontFactory.createFont( fontProgram, "Cp1254" ) ;
document.setFont( font );

para los caracteres turcos usé “Cp1254”

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *