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


Estoy tratando de generar informe con DynamicJasper, pero estoy recibiendo 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 está usando ninguna fuente de ella.

Estoy usando Ubuntu 10.04.

¿Cómo puedo arreglar esto?

Author: bruno, 2010-09-28

17 answers

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 README, con las instrucciones correctas sobre cómo instalar.

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

Necesita una conexión a Internet para esto:

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

Reinstalé ttf-mscorefonts-installer (como se muestra arriba, asegurándome de aceptar el CLUF!) y el problema fue resuelto.

 55
Author: Braully Rocha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-24 20:51:21

Uso iReport para instalar la fuente:

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

Luego seleccione la fuente y haga clic en

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

Añadir este frasco y también la primavera.tarro* a tu camino de construcción.

*copiado spring.jar from Jaspersoft \ iReport-3.7.0\ireport\modules \ ext

 21
Author: juan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-03 19:03:55

JasperReports plantea una JRFontNotFoundException en el caso de que la fuente utilizada dentro de una plantilla de informe no esté disponible para la JVM como una fuente del sistema o una fuente proveniente de una extensión de fuente JR. Esto garantiza que se eviten todos los problemas causados por los desajustes de las métricas de fuentes y que tengamos una alerta temprana sobre la inconsistencia.

Jasper reports está tratando de ayudarle en el desarrollo de su informe, indicando que no puede exportar su informe correctamente ya que no puede encontrar la fuente definida en TextField o StaticText

<font fontName="Arial"/>

Sí puede desactivar esto configurando net.ficción.jasperreports.awt.ignorar.faltar.font a false pero tendrá inconsistencias de exportación.

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

El camino correcto!

Uso Extensiones de fuente !, si desea crear el suyo propio (ver enlace a continuación), jasper reports también distribuye un jar de extensión de fuente predeterminado (jasperreports-fonts-x.x.x.jar), que admite fontName DejaVu Sans, DejaVu Serif y DejaVu Sans Mono

<font fontName="DejaVu Sans"/>

De la Guía Final de JasperReport:

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

Enlaces en StackOverflow sobre cómo representar fuentes correctamente en pdf

Lista de comprobación sobre cómo representar correctamente la fuente en pdf

Generar extensiones de fuente con JasperSoft Studio

Generar extensiones de fuente con iReport

 19
Author: Petter Friberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-27 14:28:17

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.

 12
Author: Ricardo Carmo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-12 13:54:00

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 su lugar, agrupamos las fuentes con nuestra aplicación basada en este consejo. Su archivo JAR agrupa las siguientes fuentes,

  • Arial
  • Times New Roman
  • Courier New
  • Comic Sans MS
  • Georgia
  • Verdana
  • Monoespaciado

Enlace directo para descargar frasco: Maven ver 1.0. DynamicFonts

 9
Author: user799188,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-22 16:50:09

Hay tres métodos para evitar tal problema.

Método 1: estableciendo ignorar 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 .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 .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" a continuación, seleccione toda la fuente y Exportar esto haciendo clic en "Exportar como extensión" con .extensión del tarro.

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

 5
Author: Mayur Bhokase,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-05 10:54:05

Resolví esto eligiendo 'SansSerif' o 'Serif' solamente y no 'Arial' o 'Times New Roman'.

 4
Author: lkdg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-10-20 11:48:42

Intenta añadir la línea

Net.ficción.jasperreports.awt.ignorar.faltar.font = true

A tus jasperreports.archivo de propiedades.

Jasper deja de encontrar una fuente

 3
Author: Enrico Sanna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:26:24

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

 2
Author: mavirroco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-05 00:01:17

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

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

Espero que ayude.

 2
Author: Stephen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-28 08:55:09

Me enfrenté al problema con mi aplicación web basada en Spring 3 e implementada en Weblogic 10.3 en Oracle Linux 6. La solución mencionada en el enlace no funcionó para mí.

Tuve que tomar los siguientes pasos - 1. Copia el Arial*.archivos de fuentes ttf al directorio JROCKIT_JAVA_HOME/jre/lib / fonts 2. Hacer entradas de las fuentes en fontconfig.propiedad.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
 2
Author: Ujjwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-19 18:53:53

Para Debian

Añadir

non-free contrib

A deb y deb-src en /etc/apt/sources.lista ie:

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, tendrás que reiniciar jasperserver. ie:

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

Cambie para su versión / ruta.

 1
Author: d-_-b,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-03 02:27:52

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

 0
Author: Ahmad Zyoud,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-14 06:46:35

Crear informe jasper en varios idiomas (Unicode)

1) Instalar la fuente en ireport desginer

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

3) instalar fuente en el sistema operativo(opcional)

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

 0
Author: rushabh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-10 13:37:31

En realidad he solucionado este problema de una manera muy simple

  1. vaya a su home path, como /root
  2. crear una carpeta llamada .fonts
  3. copie su all your font files a .fonts, puede copiar la fuente desde C:\windows\fonts si utiliza windows.
  4. sudo apt-get install fontconfig
  5. fc-cache –fv a cachés de fuentes rebuid.
 0
Author: Neeson.Z,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-19 09:46:46

¿Tiene problemas para ver los documentos producidos en Windows?

Puedes probar una solución fácil:

Yum install curl cabextract xorg-x11-font-utils fontconfig

Rpm-i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Después de esto necesito reiniciar mi sistema CentOS6.

Fuente: http://mscorefonts2.sourceforge.net/

 0
Author: Fernando Pie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-26 17:40:55

Solución en 2 pasos (si está utilizando CentOS)

  1. Descargue el paquete rpm de Microsoft core fonts.

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

    [root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm
    
 0
Author: Prasanna Venkat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-02 20:51:54