[英]JasperReports API. Getting error when using Image in report: net.sf.jasperreports.engine.JRException: Byte data not found at
[英]net.sf.jasperreports.engine.JRException: Byte data not found
我正在嘗試傳遞給碧玉報告字符串位置的模板。 所以我在模板和值中傳遞參數的鍵。 當我的項目中有圖像時,一切正常,但我想把它放在另一個地方。 有沒有辦法從例如屬性文件中讀取參數? 我不知道為什么這個解決方案不起作用:
我的形象:
<parameter name="imagesDir" class="java.lang.String" isForPrompting="false"/>
...
<image isLazy="true">
<reportElement key="image-1" style="PHLabel" x="0" y="0" width="160" height="33"/>
<imageExpression class="java.lang.String"><![CDATA["$P{imagesDir}"+"logo.bmp"]]></imageExpression>
</image>
錯誤:
Error during exporting report statement_account_10 to PDF.
net.sf.jasperreports.engine.JRException: Byte data not found at :
((java.lang.String)parameter_imagesDir.getValue())logo.bmp
好的,我找到了...應該是:
<image isLazy="true">
<reportElement key="image-1" style="PHLabel" x="0" y="0" width="160" height="33"/>
<imageExpression class="java.lang.String"><![CDATA[$P{imagesDir}+"logo.bmp"]]></imageExpression>
</image>
我遇到了這個問題,就我而言,問題是圖像的路徑。
最初我有類似的東西:
<imageExpression><![CDATA["logo.bmp"]]></imageExpression>
然后我將其替換為:
<imageExpression><![CDATA["/home/reports/logo.bmp"]]></imageExpression>
顯然它起作用了,因為我使用的是絕對路徑(這不是一個好方法),然后我用圖像文件夾的參數更改了靜態絕對路徑。
我不知道我的情況是否與@Cristian Arteaga 的情況完全相同,但他的解決方案啟發了對我有用的解決方案。
在我的例子中,這是在 Jaspersoft Studio 6.x 中創建的報告中發生的,然后在 iReport 4.5.1 中打開(因為我需要它與該版本的庫兼容,經過多次不成功的嘗試,這是我做到這一點的唯一方法),然后作為子報告包含在另一個主報告中(當它作為獨立報告運行時,它沒有發生)。
總而言之,就像刪除導致問題的圖像,然后再次導入它一樣簡單。 在提示輸入文件並將其導入后,在屬性中,它不僅會顯示文件名,還會顯示完整路徑。 編譯並嘗試了主要報告,沒有問題了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.