Utilisez des polices personnalisées lors de la création de pdf en utilisant iReport
version iReport: 3.7.1
j'ai abordé ce problème de deux manières.
ma première méthode
je crée une page pdf
dans iReport
et j'ai un des champs (de la base de données) mis à une police Gujarati-Salarl (une police pour une langue régionale de L'Inde).
Cette police est disponible dans la liste des polices de iReport
.
Quand j'appuie sur preview, j'obtiens la sortie désirée , avec le champ dans le style de police requis.
tout va bien jusqu'ici.
mais le fichier pdf
généré contient toujours la même police originale en caractères anglais.
le résultat est le même que j'appelle le rapport de la demande ou d'un dossier JAVA
.
Après un peu j'ai trouvé ceci , une deuxième méthode
JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "C:Gujrati-Saral-1.ttf");
définit la police du pdf
à la police ttf
fournie mais maintenant la totalité du pdf
vient dans la police Guarati-saral qui n'est pas ce que je cherche..
y a-t-il un moyen d'appliquer spécifiquement cette police à un seul champ particulier?
ou
lorsqu'on utilise la deuxième méthode, y a-t-il un moyen de ne pas appliquer la police Guarati-saral à tous les autres champs sauf celui qui est requis ?
4 réponses
vous devez utiliser le mécanisme Font Extensions
.
après avoir créé la police et l'avoir exportée en tant que fichier jar, vous devez ajouter le fichier JAR généré à l'application classpath.
A) Création d'une nouvelle police dans iReport (via Options -> polices - > bouton" Install Font")
B) L'exportation de la nouvelle font (ou l'existant) comme fichier jar dans iReport (via le bouton Options -> Fonts -> "Exporter comme extension" )
A) Création d'une nouvelle police dans JasperReports Studio (via Window -> Preferences -> JasperStudio -> Fonts -> "Add" Button)
b) configurez vos polices de caractères
C) créer JAR avec vos polices de caractères dedans
, Vous pouvez trouver plus d'informations sur l'utilisation de Font Extensions
ici .
si vous avez des problèmes pour afficher les caractères UTF-8 dans le pdf, de la version 4.8.0 de L'IReport, pas besoin de ne rien faire! Il suffit de changer la police des cellules dans la table de sanserif à DejaVu sans. thats it.
pour ceux qui ont besoin de la langue russe dans les rapports Jasper( au moins dans les opennms des anciennes versions), la combinaison suivante fait l'astuce sans utiliser l'Extension de police:
Nom De Police: SanSerif PDF Police Courier Codage PDF: CP1251 PDF Intégré: Oui (je ne sais pas, peut être que cela fonctionne même sans)
Alexey Bakhmutov
sélectionnez le champ et allez à propriétés déposées et changez le
- sélectionner DejaVu Sans as Font Name""
- sélectionner L'encodage Pdf pour CP1256 (arabe)
- sélectionner le nom de la police de caractères pdf pour coursier
avec ces changements dans j'ai eu des données Arabes montrant en PDF.