web-dev-qa-db-ja.com

JasperReportsを使用して外部URLハイパーリンクを作成します

外部サイトにリンクするPDF)にハイパーリンク(URL)をどのように含めますか?

http://www.stackoverflow.com 」のような単純な文字列を使用すると、リンクが自動的に生成されます。しかし、どうすれば<a href="http://www.stackoverflow.com">Click here</a>のようなURLを使用できますか?

このHTML文字列を使用すると、Jaspersはリンクを作成しますが、コードも表示します。

JasperReports4.0.4およびiReport4.5.1の使用。

16
Ricardo

TextFieldを外部URLへのハイパーリンクにするには、属性hyperlinkType="Reference"を要素に追加し、その中に<hyperlinkReferenceExpression>タグを追加する必要があります。参照式は、URLを配置する場所です。

例えば:

<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属性は、HTMLのtarget属性と同じように動作します。

この方法でハイパーリンクできるのは、textFields、画像、およびグラフのみであることに注意してください。

29
GenericJon

いくつかの理由で、与えられた例は機能しませんでした。 wayback machine を使用して、機能する次のスニペットを見つけました。

<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>
2
Alan Apter