17

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

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

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

使用 JasperReports 4.0.4 和 iReport 4.5.1。

4

2 回答 2

30

要使 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属性的行为方式与targetHTML 中的属性相同。

请注意,只有文本字段、图像和图表可以通过这种方式进行超链接。

于 2012-06-29T14:01:14.843 回答
3

由于某些原因,给出的示例不起作用。我使用了Wayback 机器,发现以下代码段有效:

<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>
于 2016-04-06T13:56:32.040 回答