標籤:
問題:二手車認證系統的檢測報告採用iReport開發,開發人員自訂了一張超級長的紙張,導致列印時自動縮放到了一張A4紙上。需要修改使之能夠合理的分頁列印,這是來到新公司的第一個任務。
解決方案一:
1、iReport報表自訂頁面,需要分頁的地方使用分頁符進行分頁
2、產生PDF報表
3、按照如下說明進行列印
採用這種方式,顯示出的PDF報表有大片空白,但是列印是正常的。查看PDF時每頁下方大片的空白導致使用者體驗極差,不採用此方式。
方案二:
還是使用“自訂”紙張,採用“海報”方式列印,PDF會自動把一張很長的頁面的內容拆分到多個A4頁面上,需要仔細調整每頁的內容。
註:得用IE瀏覽器,360、Google等瀏覽器需要先另存到本地,然後再使用Adobe Reader自己提供的列印功能。
教客戶使用時又發現問題了,因為是使用開發和調試的,但是到了實際的印表機上分頁效果不一樣。
方案三:
把每一頁的內容單獨放到一個子報表上,然後父表去調用6個子報表。每個子表前放一個分頁符。這樣終於完美解決問題了。
iReport分頁列印開發調試過程中遇到的坑總結如下:
1、如果在子表中使用 Text Field 控制項直接顯示參數,那麼不要放在 Detail 區,顯示不出來(如果也同時顯示從資料庫中查詢出的表資料,那麼 Detail 區應該能顯示出來);要放在 Page Header 或者 Title 區。
2、Field放在Detail區,也可以在 Page Header 區。
3、報表的 When No Data 屬性,選擇“All Sections,No Detail”。
4、在[視窗]-[組件面板]中可以找回組件面板。
5、主表的資料是從Java代碼中通過JSON格式傳進去的,主表中定義了200來個Field,如果需要在子表中使用這些資料,那麼需要在子表中定義參數,然後在主表 Subreport 控制項的 Parameters 屬性中對子表參數賦值。
本文用菊子曰發布
關於iReport報表的分頁