3.1 生成报表sessionid
编写函数根据传入的报表路径和参数返回报表计算完成的sessionid,参考代码如下:
3.2 根据sessionid打印报表
编写函数根据传入的偏移量和sessionid进行打印,参考代码如下:
3.3 传入报表参数打印
传入报表名字和参数进行打印
模板设计的样式:
<head>
<title>FineReport Demo</title>
<script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>
<link rel="stylesheet" type="text/css" href="/WebReport/ReportServer?op=emb&resource=finereport.css"/>
<script type="text/javascript">
function getsessionid(cpt,para){
var sessionID;
var url="/WebReport/ReportServer"
var data = $.extend({
op:'getSessionID',
reportlet:cpt
},para);
FR.ajax({
url: url,
type: 'POST',
data: data,
async: false,
complete: function (res, status) {
if (status == 'success') {
sessionID = res.responseText;
}
}
});
return sessionID;
}
function print(x,y,sessionid){
var pianyiurl="/WebReport/ReportServer?op=printer_offset&cmd=pt_submit&sessionID="+sessionid+"&type=2&offset_x="+x+"&offset_y="+y+"©_IP=localOffset";//偏移量的设置的url,其中sessionID就是报表的sessionID,type是偏移的类型1代表全局设置,2代表单个模板设置,offset_x和offset_y分别是横纵方向的偏移量可以为负数
FR.ajax({
url:pianyiurl,
type:"GET",
async: false,
complete: function(msg){
FR.doURLPDFPrint("/WebReport/ReportServer?sessionID="+sessionid);
}
})
}
print(100,0,getsessionid("1.cpt",{a:'111',b:'222'}));
</script>
</head>
<body>
<body>
</html>