使用JasperReports创建外部URL超链接

时间:2012-06-28 22:51:24

标签: jasper-reports

如何在链接到外部网站的PDF中包含超链接(URL)?

使用像“http://www.stackoverflow.com”这样的简单字符串,会自动生成一个链接。但是,我如何使用<a href="http://www.stackoverflow.com">Click here</a>等网址?

如果我使用这个HTML字符串,Jaspers会创建一个链接,但也会显示代码。

使用JasperReports 4.0.4和iReport 4.5.1。

2 个答案:

答案 0 :(得分:29)

要使textField成为指向外部网址的超链接,您需要将属性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,图像和图表可以通过这种方式进行超链接。

答案 1 :(得分:2)

由于某些原因,给出的示例不起作用。我使用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>