Pregunta

Estoy intentando 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 utiliza ninguna fuente.

Estoy usando Ubuntu 10.04.

¿Cómo puedo arreglar esto?

¿Fue útil?

Solución

He intentado instalar mscorefonts, pero el paquete fue instalada y puesta al día.

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

He intentado buscar la fuente en el sistema de archivos, con:

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

Esta carpeta sólo tenía el README, con las instrucciones correctas sobre cómo instalar.

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

Se 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ándose de aceptar el EULA!) Y el problema se solucionó.

Otros consejos

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 fuente del sistema o como fuente procedente de una extensión de fuente JR.Esto garantiza que se eviten todos los problemas causados ​​por discrepancias en las métricas de fuentes y que tengamos una alerta temprana sobre la inconsistencia.

Jasper informa que está intentando ayudarte 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í tu puedes desactivar esto configurando net.sf.jasperreports.awt.ignorar.fuente.faltante a verdad pero tendrás inconsistencias en las exportaciones.

sí tu puedes instalar la fuente como fuente del sistema JVM (pero debe hacerlo en cada PC utilizada que pueda generar informes y aún puede tener problemas de codificacion).

¡La forma correcta!

Usar Extensiones de fuente!, si desea crear el suyo propio (consulte el 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 definitiva de JasperReport:

Alentamos encarecidamente a las personas a usar solo fuentes derivadas de las extensiones de fuentes, porque esta es la única forma 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 ofrece el riesgo de que los informes no funcionen correctamente cuando se implementan en una nueva máquina que podría no tener esas fuentes instaladas

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

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

Genere extensiones de fuentes con JasperSoft Studio

Generar extensiones de fuente con iReport

Yo uso IReport para instalar la fuente:

  

Herramientas -> Opciones -> fuentes -> haga clic en instalar la fuente

A continuación, seleccione la fuente y haga clic en

  

-> Exportar como extensión y el nombre de tipo myfont.jar

añadir este frasco y también spring.jar * a su trayectoria de la estructura.

* copia spring.jar de Jaspersoft \ iReport-3.7.0 \ iReport \ modules \ ext

Para CentOS:

msttcorefonts

A continuación:

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

Después de todo, reiniciar JVM.

Fábrica de sudo apt-get install msttcorefonts (en nuestro entorno de desarrollo de Ubuntu), pero no es una solución muy buena.

En su lugar, paquete de las fuentes con nuestra aplicación basado en esta punta. Su archivo JAR agrupa las siguientes fuentes,

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

Enlace directo al tarro de descarga: Maven ver 1.0. DynamicFonts

Hay tres método para evitar tal problema.

Método 1:. Ajuste por falta ignore propiedad de fuente

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

o se puede establecer esta propiedad mediante la introducción de la línea siguiente en .jrxml archivo.

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

Método 2:. Estableciendo la propiedad de fuente por defecto

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

o se puede establecer esta propiedad mediante la introducción de la línea siguiente en .jrxml archivo.

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

Método 3:. Añadiendo que faltan propiedad de fuente

En primer lugar instalar fuentes en IReport falta seleccionando "Herramientas >> Opciones >> Fuentes >> Instalación de fuente" y seleccione la fuente de todo esto y exportación Al hacer clic en "Exportar como extensión" .jar con la extensión.

Puede utilizar este frasco para jasperreports-font.X.X.X.jar que estará presente en su biblioteca o ruta de clase del proyecto.

He resuelto esto eligiendo 'SansSerif' o 'serif' y no 'Arial' o 'Times New Roman'.

puede hacer que sus fuentes personalizadas a través de iReport y la conversión de archivos como tarros

Trate de añadir la línea

net.sf.jasperreports.awt.ignore.missing.font = true

a su archivo jasperreports.properties.

Jasper se detiene la búsqueda de un tipo de letra

Puede hacerlo mediante la instalación de fuentes, que los medios de todo el mundo que desee ejecutar esa aplicación en particular. forma más sencilla es añadir esta línea a su archivo bl jrxml:

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

Espero que ayuda.

Me enfrentaba al problema con mi aplicación web basada en la primavera 3 y desplegado en WebLogic 10.3 en Oracle Linux 6. La solución mencionada en el enlace no funcionó para mí.

que tenía que seguir los siguientes pasos -  1. Copia del Arial * archivos de fuentes .ttf a JROCKIT_JAVA_HOME / jre / lib / fuentes  2. Las entradas de hacer de los tipos de letra en fontconfig.properties.src  3. Reiniciar el clúster de 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

Para Debian

Añadir

non-free contrib

a 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 que tendrá que JasperServer reinicio. es decir:

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

Cambiar para su versión / ruta.

Crear informe de Jasper en varios idiomas (Unicode)

1) Instalar fuente en iReport desginer

2) crear la extensión de la fuente (lo vamos a utilizar en aplicaciones de ruta de clase)

3) instalar la fuente en OS (opcional)

4) pegar todos .ttf de fuente en jre-> lib-> fuentes de directorio (de lo contrario la aplicación web va a tirar de la fuente de error no está disponible para JVM)

Si está utilizando Maven en su proyecto, usted puede simplemente añadir la dependencia Jasper-fonts a pom.xml:

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports-fonts</artifactId>
    <version>6.8.1</version>
</dependency>

La instalación de la fuente que falta en el sistema puede ser una solución de trabajo pero no para mí, yo no quiero tener que instalar las fuentes que faltan después de cada despliegue en un nuevo servidor, en vez he optado por la incorporación de la fuente con la aplicación .

Saludos.

En realidad me fijo este problema de una manera muy sencilla

  1. Cesta de la home path , como /root
  2. crear una carpeta con el nombre .fonts
  3. copiar su all your font files a .fonts, puede copiar la fuente de C:\windows\fonts Si utiliza Windows.
  4. sudo apt-get install fontconfig
  5. fc-cache –fv a fuentes rebuid cachés.

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

  1. Descargar el paquete de fuentes de núcleo rpm Microsoft.

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

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

Copiar sus fuentes en el siguiente directorio JDK_HOME \ jre \ lib \ fuentes

Hola Tener problemas para ver los documentos producidos en Windows?

Puede intentar una solución bien fácil:

  

yum install rizo cabextract xorg-x11-font-utils fontconfig

     

rpm -i    https: //downloads.sourceforge. / nET / mscorefonts2 / rpm / msttcore-fonts-installer-2.6-1.noarch.rpm

Después de esto necesito reiniciar mi sistema CentOS6.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top