Solución:
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 instalar.
cat /usr/share/fonts/truetype/msttcorefonts/README
Necesita una conexión a Internet para esto:
sudo apt-get install --reinstall ttf-mscorefonts-installer
Yo reinstalé ttf-mscorefonts-installer
(como se muestra arriba, asegúrese de aceptar el EULA) y el problema se resolvió.
JasperReports plantea un 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 asegura que se eviten todos los problemas causados por discrepancias en las métricas de fuentes y que tengamos una advertencia temprana sobre la inconsistencia.
Jasper informa 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 estableciendo net.sf.jasperreports.awt.ignore.missing.font en verdadero, pero tendrás exportar inconsistencias.
sí tu puedes Instalar en pc la fuente como fuente del sistema JVM (pero debe hacerlo en cada PC utilizada que pueda generar un informe y aún puede tener problemas de codificación).
¡La forma correcta!
¡Utilice extensiones de fuente!, si desea crear el suyo propio (consulte el enlace a continuación), los informes de jasper también distribuyen un contenedor 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:
Recomendamos encarecidamente a las personas que utilicen solo fuentes derivadas de 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 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 StackOverflow sobre cómo renderizar fuentes correctamente en pdf
Lista de verificación sobre cómo renderizar la fuente correctamente en pdf
Genere extensiones de fuente con JasperSoft Studio
Genere extensiones de fuente con iReport
Yo 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 escriba el nombre myfont.jar
agregue este frasco y también spring.jar* a su ruta de construcción.
* copiar spring.jar de Jaspersoft iReport-3.7.0 ireport modules ext