如何在链接到外部站点的 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。
如何在链接到外部站点的 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。
要使 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
属性的行为方式与target
HTML 中的属性相同。
请注意,只有文本字段、图像和图表可以通过这种方式进行超链接。
由于某些原因,给出的示例不起作用。我使用了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>