2016-01-08 1 views
1
$P{DETAILPARAM} = " Tarihinden bu güne kadar <style isBold='true' pdfFontName='DejaVu Sans'>"+new java.text.DecimalFormat("#,##0.00").format($F{TOTAL_DEBT})+" ₺ </style> Borcunuz vardır." 
Font = DejaVu Sans 

Ceci comme ajouter $P{DETAILPARAM} dans le paramètre. Et exporter PDF, mais ne montre pas "₺" ce symbole.
Que dois-je faire?Comment ajouter un symbole ₺ (lire turque) dans iReport

+0

Avez-vous encore des problèmes avec cela? –

+0

oui. J'ai les problèmes – fdurmus77

+0

Vous ne pouvez pas afficher le symbole ?, avez-vous vérifié la réponse ci-dessous ... Si vous copiez jrxml et il ne s'affiche pas, c'est probablement un problème de police? –

Répondre

2

Le Turkish Lira a unicode U+20BA et depuis ce relativement nouveau (2012), vous devez être sûr que ce unicode est pris en charge par votre police sélectionnée.

J'ai essayé avec la police dejavu-serif, pour comprendre comment télécharger et installer voir correctement: How can I display "$£Ω€απ⅔" in Jasperserver PDF using iReport?

Résultat

Result

C'était mon code jrxml:

<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="FontTest" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2347c131-1884-430a-b77f-59f08f896c8a"> 
    <parameter name="number" class="java.lang.Double" isForPrompting="false"> 
     <defaultValueExpression><![CDATA[new Double(1000.23)]]></defaultValueExpression> 
    </parameter> 
    <queryString> 
     <![CDATA[]]> 
    </queryString> 
    <title> 
     <band height="25"> 
      <textField> 
       <reportElement x="0" y="0" width="100" height="25" uuid="bc2ae040-f9af-4732-82fe-8fe8b71696bd"/> 
       <textElement> 
        <font fontName="DejaVu Serif" size="14"/> 
       </textElement> 
       <textFieldExpression><![CDATA["\u20BA"]]></textFieldExpression> 
      </textField> 
      <textField pattern="₺ #,##0.00"> 
       <reportElement x="100" y="0" width="200" height="25" uuid="ee49d149-394b-4ac6-a0a2-6d207b0c8d89"/> 
       <textElement> 
        <font fontName="DejaVu Serif" size="14"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$P{number}]]></textFieldExpression> 
      </textField> 
     </band> 
    </title> 
</jasperReport> 

Quelques notes de conception:

  1. Lors du formatage des nombres, il est préférable d'appliquer pattern, car cela permet de garder la classe correcte si exporté vers Excel par exemple.

  2. Je ne pouvais pas atteindre le modèle "\u20BA #,##0.00" même si cela fonctionne directement dans Java, je dois étudier plus loin cela, semble que le rapport Jasper est en train de faire un remplacement du "\" doit mettre le caractère directement dans le motif (même si ce n'est pas recommandé).