多语言展示
当前在线:1346今日阅读:39今日分享:10

统计报表系统FineReport中如何设置批量打印

若您有很多张模板需要打印,而如果一个一个进行打印的话会比较麻烦,希望批量打印出来,下面就通过统计报表系统FineReport来介绍一下如何进行设置。
工具/原料
1

统计报表系统FineReport7.1.1

2

大小:148.2M 适用平台:windows/linux

方法/步骤
2

如批量打印的模板过多的话,url就很长,而get方式对长度有限制,url过长时会导致打印失败。推荐批量打印的时候用post方式,reportlets参数打包在数据包中传输,不在url中显示,从而缩短url长度,另外安全性较好,如下: var printurl='http://localhost:8075/WebReport/ReportServer';     var reportlets = FR.cjkEncode('[{reportlet: '/doc/Primary/Parameter/Parameter_1.cpt', 地区 : '华东'}, {reportlet: '/doc/Primary/Parameter/Parameter_1.cpt', 地区 : '华北'}]');var config = {url : printurl,isPopUp : false,data : {reportlets: reportlets}};FR.doURLPDFPrint(config);注:调用打印方法中的第二个参数为true表示弹出对话框,为false表示不弹出对话框即静默打印。

3

示例如需要打印出某个模板所有参数情况对应的结果,如下图,选择希望打印的参数值,点击doPrint按钮批量打印出对应的结果。

4

实现思路首先通过JS获取复选框的值然后拼凑出正确的url,最后调用打印方法如PDF打印,通过post方法传参(FR.doURLPDFPrint(printurl,true,{data: {reportlets : paravalue}});)或get方法传参(FR.doURLPDFPrint(printurl,true);)进行批量打印。

5

post传参PDF打印完整代码             FineReport Demo                                        

     华东
       华北
      
    
             

6

效果查看打开内置服务器,在浏览器中输入http://localhost:8075/WebReport/page_demo/cusprint_batch.html,选中多个复选框,点击doprint按钮,既可以实现批量打印了。

推荐信息