如何在链接到外部网站的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。
答案 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>