历史版本21 :JS 调用 FR 打印方法 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在进行报表集成时,常常需要通过js来调用FR的打印事件,如实例:不查看报表直接打印批量打印等等。
在jar包版本为2018-04-09及以上版本后,提供了新的客户端打印js方法doURLPrint
而在jar为2018-04-09版本之前,FR实现的是Flash、Pdf、Applet三种客户端打印js方法,doURLFlashPrint、doURLPDFPrint、doURLAppletPrint。
在实现具体实例前,您需要了解js调用FR打印方法的语法。

2. js调用FR打印方法编辑

2.1 新打印接口
JS打印接口:FR.doURLPrint(config),使用post传参。
注:其中config为参数配置,参数可以以post方式传递给服务器,config数据格式为{printUrl : url,isPopUp : isPopUp,data:{reportlets:reportlets},printType : printType}
  参数含义  
  printurl为需要打印模板的应用地址和服务,如"http://localhost:8075/webroot/decision/view/report"

允许为空。如果为空的话,就使用当前的 servlet 地址。如果需要跨域,则此参数不能为空

  data为需要打印的模板及其参数,如"[{reportlet: '1.cpt', p1: 'a'}, {reportlet: '1.cpt', p1: 'b'}]"
  isPopUp是否弹出设置窗口,true为弹出,false为不弹出
 printType打印类型,0为零客户端打印,1为本地打印
示例:
var printurl="http://localhost:8075/webroot/decision/view/report"; var reportlets ="[{reportlet: 'GettingStarted.cpt', 地区: '华北'}, {reportlet: 'GettingStarted.cpt', 地区: '华东'}]"; var config = { printUrl : printurl, isPopUp : false, data : { reportlets: reportlets }, printType : 0 }; FR.doURLPrint(config);
详细示例可查看[新]打印
2.2 老打印接口
调用以下方法前,需要先引入finereport.js,再通过doURLxxxxPrint()进行调用。
1)doURLxxxxPrint(printurl)
说明:printurl为需要打印的报表路径,printurl以get方式传递给服务器,服务器将报表结果返回给客户端,弹出打印选项框及打印对话框,供用户选择打印范围及打印机,然后进行打印。
示例:
FR.doURLFlashPrint("/webroot/decision/view/report?viewlet=report.cpt")
2)doURLxxxxPrint(printurl,isPopUp)
说明:printurl为需要打印的报表路径
isPopUp布尔值(true/false),表示是否进行静默打印,true为弹出打印对话框,false为不弹出。
示例:
FR.doURLFlashPrint("/webroot/decision/view/report?viewlet=report.cpt",true);
Flash打印不支持静默打印,true/false效果相同
FR.doURLPDFPrint("/webroot/decision/view/report?viewlet=report.cpt",true);
pdf打印,true时弹出打印对话框,false不弹出
FR.doURLAppletPrint("/webroot/decision/view/report?viewlet=report.cpt",true);
applet打印,true时弹出打印对话框,false不弹出
3)doURLxxxxPrint(config)
post传参:
说明:config为参数配置,参数可以以post方式传递给服务器,config数据格式为 {url : url,isPopUp : isPopUp,data:{reportlets:reportlets}}.
url为需要打印的报表路径,isPopUp布尔值(true/false),表示是否进行静默打印,true为弹出打印对话框,false为不弹出,data为需要打印的报表以及报表参数。
示例
var printurl="http://localhost:8075/webroot/decision/view/report"; var reportlets ="[{reportlet: '1.cpt', p1: 'a'}, {reportlet: '1.cpt', p1: 'b'}]"; var config = { url : printurl, isPopUp : false, data : { reportlets: reportlets } }; FR.doURLPDFPrint(config);
详细示例可查看批量打印_(Get/Post)
get传参:
说明:config为参数配置,参数可以以get方式传递给服务器,config数据格式为 {url : url,isPopUp : isPopUp}.
url为需要打印的报表路径,isPopUp布尔值(true/false),表示是否进行静默打印,true为弹出打印对话框,false为不弹出。
示例:
var  url="http://localhost:8075/webroot/decision/view/report?viewlet=";   url+=document.report.cpt.value;   var  isPopUp = false;   var  config = {url : url,isPopUp : isPopUp}   FR.doURLPDFPrint(config);
详细示例可查看js调用打印_不查看直接打印
注:post传参与get传参的区别请查看post传参和get传参

3. 移动端编辑

移动端不支持各种打印和导出方式


索引:

post传参和get传参

js调用打印_不查看直接打印

js打印设置打印偏移