J'essaie de générer un rapport avec DynamicJasper, mais j'obtiens l'erreur suivante:
net.sf.jasperreports.engine.util.JRFontNotFoundException:
Font 'Arial' is not available to the JVM.
msttcorefonts est installé, mais je suppose que la JVM n'utilise aucune police de celle-ci.
J'utilise Ubuntu 10.04.
Comment puis-je réparer cela?
Réponses:
J'ai essayé d'installer mscorefonts, mais le package était installé et à jour.
sudo apt-get update sudo apt-get install ttf-mscorefonts-installer
J'ai essayé de rechercher la police dans le système de fichiers, avec:
ls /usr/share/fonts/truetype/msttcorefonts/
Ce dossier avait juste le README, avec les instructions correctes sur la façon d'installer.
Vous avez besoin d'une connexion Internet pour cela:
sudo apt-get install --reinstall ttf-mscorefonts-installer
J'ai réinstallé
ttf-mscorefonts-installer
(comme indiqué ci-dessus, en veillant à accepter le CLUF!) Et le problème a été résolu.la source
Jasper Reports essaie de vous aider dans le développement de votre rapport, déclarant qu'il ne peut pas exporter correctement votre rapport car il ne trouve pas la police définie dans
TextField
ouStaticText
<font fontName="Arial"/>
Oui, vous pouvez désactiver cela en définissant net.sf.jasperreports.awt.ignore.missing.font sur true mais vous aurez des incohérences d'exportation .
Oui, vous pouvez installer la police en tant que police système JVM (mais vous devez le faire sur chaque PC utilisé qui peut générer un rapport et vous pouvez toujours avoir des problèmes d'encodage ).
La bonne manière!
Utilisez les extensions de polices ! , si vous souhaitez créer le vôtre (voir le lien ci-dessous), jasper reports distribue également un
jasperreports-fonts-x.x.x.jar
fichier jar ( ) d' extension de police par défaut , qui prend en charge fontNameDejaVu Sans
,DejaVu Serif
etDejaVu Sans Mono
<font fontName="DejaVu Sans"/>
Extrait du guide JasperReport Ultimate:
Liens sur StackOverflow sur la façon de rendre correctement les polices en pdf
Liste de contrôle sur la façon de rendre correctement la police en pdf
Générer des extensions de polices avec JasperSoft Studio
Générer des extensions de polices avec iReport
la source
J'utilise IReport pour installer la police:
Sélectionnez ensuite la police et cliquez sur
ajoutez ce jar et aussi spring.jar * à votre chemin de construction.
* copiez spring.jar depuis Jaspersoft \ iReport-3.7.0 \ ireport \ modules \ ext
la source
sudo apt-get install msttcorefonts
fonctionne (sur notre environnement de développement Ubuntu), mais ce n'est pas une très bonne solution.Au lieu de cela, nous avons regroupé les polices avec notre application sur la base de cette astuce . Leur fichier JAR regroupe les polices suivantes,
Lien direct pour télécharger le bocal: Maven ver 1.0. DynamicFonts
la source
Pour CentOS:
wget msttcorefonts
Ensuite:
tar -zxvf msttcorefonts.tar.gz cp msttcorefonts/*.ttf /usr/share/fonts/TTF/ fc-cache -fv
Après tout, redémarrez JVM.
la source
Il existe trois méthodes pour éviter un tel problème.
Méthode 1: en définissant ignorer la propriété de police manquante.
JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
ou vous pouvez définir cette propriété en entrant la ligne suivante dans le fichier .jrxml.
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
Méthode 2: en définissant la propriété de police par défaut.
JRProperties.setProperty("net.sf.jasperreports.default.font.name", "Sans Serif");
ou vous pouvez définir cette propriété en entrant la ligne suivante dans le fichier .jrxml.
<property name="net.sf.jasperreports.default.font.name" value="Sans Serif"/>
Méthode 3: en ajoutant la propriété de police manquante.
Tout d'abord, installez les polices manquantes dans IReport en sélectionnant "Outils >> Options >> Polices >> Installer la police" puis sélectionnez toutes les polices et exportez-la en cliquant sur "Exporter comme extension" avec l'extension .jar.
Vous pouvez utiliser ce jar pour Jasperreports-font.XXXjar qui sera présent dans votre bibliothèque de projet ou chemin de classe.
la source
J'ai résolu ce problème en choisissant «SansSerif» ou «Serif» uniquement et non «Arial» ou «Times New Roman».
la source
Si vous utilisez maven dans votre projet, vous pouvez simplement ajouter la dépendance jasper-fonts à pom.xml:
<dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports-fonts</artifactId> <version>6.8.1</version> </dependency>
L'installation de la police manquante sur le système peut être une solution de travail mais pas pour moi, je ne voulais pas avoir à installer les polices manquantes après chaque déploiement dans un nouveau serveur, j'ai plutôt opté pour l'incorporation de la police avec l'application.
Cordialement.
la source
peut créer vos polices personnalisées via iReport et les convertir comme des fichiers jars
la source
Essayez d'ajouter la ligne
net.sf.jasperreports.awt.ignore.missing.font = true
dans votre fichier jasperreports.properties.
Jasper arrête de trouver une police
la source
Vous pouvez le faire en installant des polices, c'est-à-dire partout où vous souhaitez exécuter cette application particulière. Le moyen le plus simple consiste simplement à ajouter cette ligne bl à votre fichier jrxml:
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
J'espère que cela aide.
la source
Pour Debian
ajouter
non-free contrib
à deb et deb-src dans /etc/apt/sources.list ie:
deb http://ftp.debian.org/debian/ squeeze main non-free contrib deb-src http://ftp.debian.org/debian/ squeeze main non-free contrib
ensuite
apt-get update apt-get install msttcorefonts
Bien sûr, vous devrez redémarrer jasperserver. c'est à dire:
Changez pour votre version / chemin.
la source
J'ai rencontré le problème avec mon application Web basée sur Spring 3 et déployée sur Weblogic 10.3 sur Oracle Linux 6. La solution mentionnée sur le lien ne fonctionnait pas pour moi.
J'ai dû suivre les étapes suivantes - 1. Copiez les fichiers de polices Arial * .ttf dans le répertoire JROCKIT_JAVA_HOME / jre / lib / fonts 2. Entrez les polices dans fontconfig.properties.src 3. Redémarrez le cluster à partir de la console 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
la source
Créer un rapport Jasper en plusieurs langues (Unicode)
1) Installez la police dans ireport desginer
2) créer une extension de police (nous l'utiliserons dans le classpath des applications)
3) installer la police sur os (facultatif)
4) collez tous les .ttf de la police dans le répertoire jre-> lib-> fonts (sinon l'application Web lancera une erreur de police n'est pas disponible pour JVM)
la source
En fait, j'ai résolu ce problème d'une manière très simple
home path
, comme/root
.fonts
all your font files
vers.fonts
, vous pouvez copier la police depuisC:\windows\fonts
si vous utilisez Windows.sudo apt-get install fontconfig
fc-cache –fv
pour reconstruire les caches de polices.la source
Solution en 2 étapes (si vous utilisez centOS)
Téléchargez le package rpm des polices Microsoft Core.
[root@WEBSVR~/]# wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm
Installez le package rpm.
[root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm
la source
Copiez vos polices dans le répertoire suivant JDK_HOME \ jre \ lib \ fonts
la source
Hey Vous rencontrez des difficultés pour visualiser les documents produits sous Windows?
Vous pouvez essayer une solution simple:
Après cela, j'ai besoin de redémarrer mon système CentOS6.
Source: http://mscorefonts2.sourceforge.net/
la source