2011-11-22 5 views
5

Mi aplicación Java crea archivos PDF utilizando iText. Algunas veces el contenido es asiático, lo que no funciona. Los caracteres asiáticos no son visibles.¿Cómo se configura iText para admitir caracteres asiáticos?

Encontré iTextAsian.jar en la página de descarga de iText, pero no sé cómo usarlo.

El objetivo es usar mi fuente favorita como predeterminada. Pero cuando un personaje no está disponible se usa otra fuente para este personaje. He leído, iText puede seleccionar las fuentes de esa manera de forma automática, pero ¿cómo configurar esto?

También deseo que todas las fuentes necesarias se incluyan en el PDF, para que los usuarios no tengan que instalar fuentes asiáticas en sus computadoras.

+0

No son "símbolos", son caracteres. – NullUserException

+0

¿Todos sus usuarios tienen instalado el paquete de fuentes asiático con sus visualizadores de PDF o tiene control sobre la base instalada de visores de PDF para asegurarse de que lo hagan? De no ser así, ¿el uso de fuentes incrustadas en PDF hará que el PDF resultante sea demasiado grande? ¿IText solo incluye los glifos que necesita el documento? –

+0

Sin control sobre los usuarios. Es una aplicación web que crea archivos PDF. Los PDF muy grandes son mejores que los PDF sin caracteres asiáticos. El siguiente paso sería detectar si el contenido del usuario contiene caracteres asiáticos y omitir fuentes extra basadas en eso. – Witek

Respuesta

2
  • Puede definir un "FontSelector" y luego agregar sus fuentes (fontSelector.AddFont). Ahora iText elegirá el carácter no disponible de la siguiente fuente definida utilizando el método fontSelector.Process.
  • Los caracteres asiáticos suelen ser Unicode, por lo que debe establecer "BaseFont.IDENTITY_H" en lugar de Ansi (como FontFactory.GetFont ("tahoma", BaseFont.IDENTITY_H)).
  • Si se trata de RTL, debe ajustar el texto en elementos que tengan propiedad de dirección y ajústelo en rtl.
+0

¿Qué fuentes debo agregar a través de addFont()? – Witek

+0

BaseFont.IDENTITY_H incrusta las fuentes .ttf seleccionadas en el PDF final. Así que busque las fuentes que tienen los caracteres completos de ese idioma. – VahidN

+0

Dado que los usuarios en los sitios web pueden venir de todas partes, tengo que agregar fuentes para todos los caracteres al selector, ¿verdad? ¿Cómo averiguar qué fuentes libres (10?) Juntas cubren el 99% de todos los caracteres? – Witek

Cuestiones relacionadas