TIBCO Jasper Report 中顯示圖片的方式


最近在做的項目中,需要輸出很多報表類文檔,於是選擇用jasper來幫助完成。

使用jasper studio的版本是 :TIB_js-studiocomm_6.12.2_windows_x86_64。有顯示圖片需求的,可以參考本博客。

1.我采用的是json數據源。就是把所有需要往報表中傳遞的數據,全部封裝到一個大的json文件中。稍后會另寫一篇關於如何使用json數據源的博客。

2.現在說顯示圖片的事。json文件中要顯示一個圖片該怎么做呢。把圖片通過轉換工具,轉換為base64字符串,或svg串。

我例子中,pic1為svg串,pic2為base64字符串。稍后會把這個json文件貼上去。此處注意,base64字符串不帶圖片格式這段(”data:image/png;base64,“),有的話記得去掉

 

3.新建一個jsper report,這些就不細說了。我把其他band都刪除了,就留下一個detail 的band

 

 

 

4.從右側得Palette的Basic Elements中拖一個image元素

 

 

 5.就先選默認的這個,稍后會修改圖片顯示的表達式。

 

 6.得到了如圖的這個效果

 

 7.現在修改表達式,點擊圖片,會在右下找到修改圖片屬性的地方,如圖

 

 

8.如果想顯示base64字符串的圖片的話,點擊Expression行,最右側那個按鈕,step 7 中第二個紅框處 了。

9.框中很長的表達式,是重點,其中$F{pic2}是下方Fields中的第二個了。這個怎么來,之后會講解。其實就是讀取json數據源獲取到的。

重點部分我貼出來,方便復制:new ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($F{pic2}.getBytes()))

 

10.點擊Main report 下方,第三個按鈕Preview來看效果。出不來的聯系我 445196491@qq.com

 11.如果想顯示svg字符串的圖片的話,點擊Expression行,最右側那個按鈕,step 7 中第二個紅框處 了。

 重點內容我貼出來,方便大家復制    net.sf.jasperreports.renderers.BatikRenderer.getInstanceFromText($F{pic1})

12.同樣點擊預覽看效果。有困難的,出不來的聯系我。445196491@qq.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM