working the not net name jaspersoft jasperreports jasperreport jasper instalar fuentes font extension available arial jvm jasper-reports ubuntu-10.04 dynamic-jasper

jvm - the - jasperreports font name



La fuente no está disponible para la JVM con Jasper Reports (17)

Intento generar un informe con DynamicJasper, pero aparece el siguiente error:

net.sf.jasperreports.engine.util.JRFontNotFoundException: Font ''Arial'' is not available to the JVM.

msttcorefonts está instalado, pero supongo que la JVM no usa ninguna fuente.

Estoy usando Ubuntu 10.04.

¿Cómo puedo arreglar esto?


JasperReports genera una excepción JRFontNotFoundException en el caso en que la fuente utilizada dentro de una plantilla de informe no está disponible para la JVM, ya sea como una fuente del sistema o una fuente proveniente de una extensión de fuente JR. Esto garantiza que todos los problemas causados ​​por las discrepancias en las métricas de fuentes se eviten y tenemos una advertencia temprana sobre la incoherencia.

Los informes de Jasper intentan ayudarte en el desarrollo de tu informe, indicando que no puede exportar tu informe correctamente ya que no puede encontrar la fuente definida en TextField o StaticText

<font fontName="Arial"/>

Sí, puede deshabilitar esto estableciendo net.sf.jasperreports.awt.ignore.missing.font como falso, pero tendrá incoherencias de exportación .

Sí, puede instalar la fuente como fuente del sistema JVM (pero debe hacerlo en todas las PC utilizadas que puedan generar informes y aún así puede tener problemas de codificación ).

¡La forma correcta!

¡Usa extensiones de fuentes ! , si desea crear uno propio (consulte el enlace a continuación), los informes de jaspe también distribuyen un jarrón de extensión de fuente predeterminado ( jasperreports-fonts-xxxjar ), que admite fontName DejaVu Sans , DejaVu Serif y DejaVu Sans Mono

<font fontName="DejaVu Sans"/>

De la última guía JasperReport:

Recomendamos encarecidamente a las personas que utilicen únicamente fuentes derivadas de extensiones de fuentes, ya que esta es la única manera de asegurarse de que las fuentes estarán disponibles para la aplicación cuando los informes se ejecuten en tiempo de ejecución. El uso de fuentes del sistema siempre conlleva el riesgo de que los informes no funcionen correctamente cuando se implementan en una máquina nueva que podría no tener esas fuentes instaladas.

Enlaces en sobre cómo renderizar fuentes correctamente en pdf

Lista de verificación sobre cómo renderizar la fuente correctamente en pdf

Genera extensiones de fuente con JasperSoft Studio

Genera extensiones de fuente con iReport


Para Debian

añadir

non-free contrib

para deb y deb-src en /etc/apt/sources.list, es decir:

deb http://ftp.debian.org/debian/ squeeze main non-free contrib deb-src http://ftp.debian.org/debian/ squeeze main non-free contrib

Entonces

apt-get update apt-get install msttcorefonts

Por supuesto, deberás reiniciar jasperserver. es decir:

/opt/jasperreports-server-cp-4.5.0/ctlscript.sh restart

Cambiar para su versión / ruta.


Copie sus fuentes en el siguiente directorio JDK_HOME / jre / lib / fonts


En realidad arreglé este problema de una manera muy simple

  1. ve a tu home path , como /root
  2. crea una carpeta llamada .fonts
  3. copie all your font files en .fonts , puede copiar la fuente desde C:/windows/fonts si usa Windows.
  4. sudo apt-get install fontconfig
  5. fc-cache –fv para volver a generar cachés de fuentes.

Enfrenté el problema con mi aplicación web basada en Spring 3 y la implementé en Weblogic 10.3 en Oracle Linux 6. La solución mencionada en el enlace no funcionó para mí.

Tuve que seguir los siguientes pasos: 1. Copie los archivos de fuentes Arial * .ttf en el directorio JROCKIT_JAVA_HOME / jre / lib / fonts 2. Realice las entradas de las fuentes en fontconfig.properties.src 3. Reinicie el clúster desde la consola Weblogic

filename.Arial=Arial.ttf filename.Arial_Bold=Arial_Bold.ttf filename.Arial_Italic=Arial_Italic.ttf filename.Arial_Bold_Italic=Arial_Bold_Italic.ttf


Hay tres métodos para evitar tal problema.

Método 1: estableciendo ignorar la propiedad de fuente faltante.

JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");

o puede establecer esta propiedad ingresando la siguiente línea en el archivo .jrxml.

<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>

Método 2: estableciendo la propiedad de fuente predeterminada.

JRProperties.setProperty("net.sf.jasperreports.default.font.name", "Sans Serif");

o puede establecer esta propiedad ingresando la siguiente línea en el archivo .jrxml.

<property name="net.sf.jasperreports.default.font.name" value="Sans Serif"/>

Método 3: agregando la propiedad de fuente faltante.

Primero instale las fuentes que faltan en IReport seleccionando "Herramientas >> Opciones >> Fuentes >> Instalar fuente", luego seleccione todas las fuentes y Exporte esto haciendo clic en "Exportar como extensión" con la extensión .jar.

Puede usar este jar para Jasperreports-font.XXXjar que estará presente en su biblioteca de proyectos o classpath.


Intenté instalar mscorefonts, pero el paquete estaba instalado y actualizado.

sudo apt-get update sudo apt-get install ttf-mscorefonts-installer

Intenté buscar la fuente en el sistema de archivos, con:

ls /usr/share/fonts/truetype/msttcorefonts/

Esta carpeta acaba de tener el archivo README, con las instrucciones correctas sobre cómo instalarlo.

cat /usr/share/fonts/truetype/msttcorefonts/README

Necesitas una conexión a Internet para esto:

sudo apt-get install --reinstall ttf-mscorefonts-installer

¡ ttf-mscorefonts-installer (como se muestra arriba, asegurándome de aceptar el EULA!) Y el problema fue resuelto.



Lo resolví eligiendo ''SansSerif'' o ''Serif'' solamente y no ''Arial'' o ''Times New Roman''.


Muchas gracias a las respuestas anteriores. sudo apt-get install msttcorefonts funciona (en nuestro entorno de desarrollo Ubuntu), pero no es una muy buena solución.

En cambio, agrupamos las fuentes con nuestra aplicación en función de este consejo . Su archivo JAR agrupa las siguientes fuentes,

  • Arial
  • Times New Roman
  • Courier Nuevo
  • Comic Sans MS
  • Georgia
  • Verdana
  • Monospaced

Enlace directo para descargar el archivo jar: Maven ver 1.0. DynamicFonts



Para CentOS:

wget msttcorefonts

Entonces:

tar -zxvf msttcorefonts.tar.gz cp msttcorefonts/*.ttf /usr/share/fonts/TTF/ fc-cache -fv

Después de todo, reinicie JVM.


Puede hacerlo instalando fuentes, eso quiere decir donde quiera que quiera ejecutar esa aplicación en particular. La forma más simple es simplemente agregar esta línea bl a su archivo jrxml:

<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>

Espero eso ayude.


Solución en 2 pasos (si usa centOS)

  1. Descargue el paquete de rpm de Microsoft core fonts.

    [root@WEBSVR~/]# wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm

  2. Instale el paquete de rpm.

    [root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm


Yo uso IReport para instalar la fuente:

herramientas -> opciones -> fuentes -> haga clic en instalar fuente

Luego selecciona la fuente y haz clic

-> exportar como extensión y escribir el nombre myfont.jar

agregue este jar y también spring.jar * a su ruta de compilación.

* copie spring.jar de Jaspersoft / iReport-3.7.0 / ireport / modules / ext


puede hacer sus fuentes personalizadas a través de iReport y convertir archivos como jars


Crear un informe de jaspe en múltiples idiomas (Unicode)

1) Instalar fuente en ireport desginer

2) crear extensión de fuente (lo usaremos en aplicaciones classpath)

3) instalar la fuente en el sistema operativo (opcional)

4) pegue todos los .ttf de la fuente en el directorio jre-> lib-> fonts (de lo contrario, la aplicación web arrojará la fuente de error no está disponible para JVM)