Los caracteres árabes no se muestran correctamente [duplicado]
Esta pregunta ya tiene una respuesta aquí:
RTL no funciona en la generación de PDF con itext 5.5 para texto en árabe 3 respuestasPara mi sitio web, uso itextpdf 5.5.4 para generar descargas de PDF. El sitio web está destinado a personas que hablan inglés. Recientemente, un usuario de Egipto usó el sitio, ingresó contenido en árabe y me contactó con el problema que tiene.
Este es su contenido árabe que se muestra correctamente en el navegador:
Esta es una visualización incorrecta en PDF:
Aquí está el código Java que tengo. Tenga en cuenta que en realidad puede generar PDF con caracteres chinos CORRECTAMENTE:
BASE_FONT base = BaseFont.createFont("/fonts/ARIALUNI.ttf", BaseFont.IDENTITY_H , BaseFont.EMBEDDED);
Font f = new Font(base, 10f);
String htmlString = string_with_Arabic_text;
Paragraph p = new Paragraph(htmlString, f);
p.setSpacingBefore(20.0f);
p.setSpacingAfter(7.0f);
document.add(p);
¿Como solucionar el problema
En Eclipse (el IDE que uso), puedo ver que los caracteres árabes se muestran correctamente enhtmlString
. En este momento, no puedo actualizar para usar la última versión de itextpdf debido a varias razones del proyecto.