? ? ?最近在搞一個app接口,我負(fù)責(zé)后端開發(fā),需求是將前臺傳入的json數(shù)據(jù)生成pdf文件。這里我用iReport4.0,以前沒有接觸過,剛開始也是一臉懵逼,網(wǎng)上找了好多例子,但是他們都是連接數(shù)據(jù)庫或者使用JavaBean,無數(shù)據(jù)源的很少,下面是我的開發(fā)步驟。
首先新建File,如果是橫向的紙張就選第二個,這里我選第一個,然后點Launch Report Wizard進行下一步,

這里我的Report name是test,命名和路徑根據(jù)自己需求寫,然后下一步

因為我們創(chuàng)建的是無數(shù)據(jù)源的,所以這里選擇Empty datasource,然后下一步,剩下的都默認(rèn),此時我們的.jxml文件創(chuàng)建完成。




下面是創(chuàng)建好之后的樣子,左邊框中是各種屬性,其中我用到的有Style,Parameters和Fields這三個,右邊框中就是各種面板了,需要哪些直接將其拖拽到正文中就行。

此時將右邊框中的Static Text拖拽到Title上,調(diào)整框大小和字體大小格式,這就是生成pdf的標(biāo)題了

Static Text為文本框,Text Field可以設(shè)置變量,如下圖,$P{bm} 為參數(shù),此時要將其添加到Parameters,name為bm(即變量的名稱),$F{xm}是循環(huán)的部分,也要添加到Parameters,同時添加到Fileds,名稱都為xm(也是變量的名稱)。如果要設(shè)置邊框可以選中后右鍵,在Padding And Borders中設(shè)置邊框?qū)挾取?/p>

Style是樣式,當(dāng)傳入有中文的時候會亂碼,此時我們就要新增樣式了。具體設(shè)置參考ireport中文不顯示和亂碼的處理 - CSDN博客。
一張簡單的報表已經(jīng)建立好了,保存好點擊編譯,生成jasper文件。

如果有錯誤,在工具——》report problem和report output查找錯誤。當(dāng)生成.jasper文件后,就可以在java中將數(shù)據(jù)填充,生成pdf文件了。