Créer un hyperlien vers une URL externe avec JasperReports

comment inclure un hyperlien (URL) dans un PDF qui renvoie à un site externe?

utilisant une chaîne simple comme "http://www.stackoverflow.com", un lien est généré automatiquement. Mais, comment puis-je utiliser une URL comme <a href="http://www.stackoverflow.com">Click here</a>?

si j'utilise cette chaîne HTML, Jaspers crée un lien mais affiche aussi le code.

en utilisant JasperReports 4.0.4 et iReport 4.5.1.

16
demandé sur Dave Jarvis 2012-06-29 02:51:23

2 réponses

pour faire d'un champ de texte un lien hypertexte vers une URL externe, vous devez ajouter l'attribut hyperlinkType="Reference" à l'élément, et ajouter un <hyperlinkReferenceExpression> balise. L'expression de référence est où vous mettez L'URL.

Par exemple:

<textField hyperlinkType="Reference" hyperlinkTarget="Blank">
    <reportElement x="5" y="5" width="200" height="15"/>
    <textElement/>
    <textFieldExpression class="java.lang.String"><![CDATA["Click Here!"]]></textFieldExpression>
    <hyperlinkReferenceExpression><![CDATA["http://www.google.com"]]></hyperlinkReferenceExpression>
</textField>

hyperlinkTarget l'attribut se comporte de la même manière que l' target attribut en HTML.

notez que seuls les champs de texte, les images et les graphiques peuvent être hyperliés de cette façon.

27
répondu GenericJon 2018-08-07 17:13:40

Pour certaines raisons, l'exemple donné ne fonctionne pas. J'ai utilisé wayback machine et a trouvé le bout de code suivant, qui a fonctionné:

<textField hyperlinkType="Reference">
  <reportElement x="5" y="95" width="300" height="15"/>
  <textFieldExpression class="java.lang.String">"  >> Click here to go to www.google.com"</textFieldExpression>
  <hyperlinkReferenceExpression>"http://www.google.com
</hyperlinkReferenceExpression>
    </textField>
1
répondu Alan Apter 2016-04-06 13:56:32