1. 概述
1.1 問題描述
使用文檔 批量列印 中的方法批量列印多個範本時,列印出來的頁碼都是連續累加的,能不能實現下圖所示不同範本從 1 重新開始計算頁碼的效果:
也就是不同範本頁碼各自獨立,只有同一個範本的不同頁時,頁碼才會累加。
1.2 解決方案
官方列印API FR.doURLPrint(config) 中 config 參數之一的 data 裏面增加 __cumulatepagenumber__=false 即可。data 寫法如下:
2. 範例
2.1 準備用例一範本
準備用於示範批量列印的第一個範本,直接選擇設計器內建範本即可。
開啟設計器內建範本:%FR_HOME%\webroot\WEB-INF\reportlets\demotw\NewbieGuide\資料集參數.cpt
A4 儲存格新增文字:當前頁碼:
B4 儲存格新增公式:$$page_number
注:新增這個公式目的是列印時可以直接查看到當前頁的頁碼。
將這個範本儲存為:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Advanced\PrintReport\批量列印頁碼獨立用例一.cpt
2.2 準備用例二範本
準備用於示範批量列印的第二個範本,直接選擇設計器內建範本即可。
開啟設計器內建範本:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Advanced\Parameter\下拉複選框的元件範例.cpt
A4 儲存格新增文字:當前頁碼:
B4 儲存格新增公式:$$page_number
注:新增這個公式目的是列印時可以直接查看到當前頁的頁碼。
將這個範本儲存為:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Advanced\PrintReport\批量列印頁碼獨立用例二.cpt
2.3 準備批量列印範本
建立一個普通報表:
A2 儲存格寫入文字:批量列印多個範本時頁碼獨立:
B2 儲存格新增一個按鈕元件,並設定一個點選事件
B2 儲存格點選事件程式碼如下:
2.4 效果預覽
儲存報表,填報預覽後,點選列印按鈕,即可看到頁碼獨立之效果,效果如 1.1問題描述 中所示。
注:不支援 App 段和 HTML5 段預覽。
如果 data 中不設定 __cumulatepagenumber__=false,預覽時效果如下: