js调用批量打印

描述

在进行报表集成到时候,有时候需要调用js事件进行批量打印报表。

js方法

BiosReportModel

说明:前端javascript报表访问模型,方便用户进行查询,打印等报表访问操作。

举例:var rptModel = new BiosReportModel();

BiosReportModel的属性

rpt

说明:设置报表的rpt参数。

举例:rptModel.rpt = 'Demo/分组报表/5分组汇总.brt';

BiosReportModel的方法

setParam

说明:设置报表某参数的值

举例:rptModel.setParam('year', '2013');

removeParam

说明:删除报表某参数的值

举例:rptModel.removeParam('year');

setVar

说明:设置报表某变量的值

举例:rptModel.setVar('var1', 'testvalue');

removeVar

说明:删除报表某变量的值

举例:rptModel.removeVar('var1');

setProp

说明:设置报表访问的内置参数

举例:rptModel.setProp('rfscache', 'true');

removeProp

说明:删除报表访问的内置参数

举例:rptModel.removeProp('rfscache');

getQueryString()

说明:获取 rpt=xx.brt&params=p1=xx;p2=yy;&vars=v1=xxx;v2=yyy 格式的报表访问字符串

举例:var query_str = rptModel.getQueryString();

getQueryStringWithProp()

说明:获取包含了内置参数的报表访问字符串

举例:var query_prop_str = rptModel.getQueryStringWithProp();

setPrintCfg()

说明:为报表模型添加打印设置信息

举例:rptModel.setPrintCfg(printCfg);

注意

使用BiosReportModel模型时,需要引用bios_report_common.js

BiosPrintConfig

说明:创建打印设置对象,javascript脚本调用形式的客户端批量打印支持,并可在打印时调整每张报表的打印设置,支持设置直打打印机。

举例:var printCfg = new BiosPrintConfig();

BiosPrintConfig的属性

id

说明:设置id,将根据id使用服务器配置文件中的打印设置。

举例:printCfg.id = 'my_config';

printer

说明:设置打印机名称。

举例:printCfg.printer = "Microsoft XPS Document Writer";

startPage

说明:打印起始页,从1开始

举例:printCfg.startPage = 1;

endPage

说明:打印结束页,0表示尾页

举例:printCfg.endPage = 0;

landscape

说明:纸张横向

举例:printCfg.landscape = true;

align

说明:打印定位,居左。可设置值: 'left','center','right'

举例:printCfg.align = 'left';

scale

说明:打印缩放比例,1为保持原始大小,0.5为缩小到50%,以此类推

举例:printCfg.scale = 1;

pageFormat

说明:设置页面属性

页面属性设置

paper

说明:页面属性,纸张名称,自定义纸张时,不需要设置该属性

举例:printCfg.pageFormat.paper = "A4";

paperWidth

说明:自定义纸张宽度,单位:毫米

举例:printCfg.pageFormat.paperWidth = 200;

paperHeight

说明:自定义纸张高度,单位:毫米

举例:printCfg.pageFormat.paperHeight = 150;

marginTop

说明:上边距,单位:毫米

举例:printCfg.pageFormat.marginTop = 25;

marginBottom

说明:下边距,单位:毫米

举例:printCfg.pageFormat.marginBottom = 25;

marginLeft

说明:左边距,单位:毫米

举例:printCfg.pageFormat.marginLeft = 20;

marginRight

说明:右边距,单位:毫米

举例:printCfg.pageFormat.marginRight= 20;

注意

不设置上述的打印属性,仅设置id,将根据id使用服务器配置文件中的打印设置(配置文件print_config.xml在web应用下WEB-INF\resources文件夹下)

使用BiosPrintConfig模型时,需要引用bios_report_print.js

BiosReportPrint

说明:打印模型,可以调用BiosReportModel()设置的属性进行打印。

print

说明:打印方法,可以批量打印,也可以单张打印。

举例:BiosReportPrint.print(rptModel, printProp);或BiosReportPrint.print(rptArr, printProp);

注意

rptArr是数组举例:

var rptArr = [];//要进行批量打印的报表数组

//添加多个报表

rptArr.push(rptModel);

rptArr.push(rptModel2);

rptArr.push(rptModel3);

printProp 是设置打印任务属性,showHint 打印前是否提示, hintText 提示的文字信息, selectPrinter 是否弹出打印机选择界面 。举例:

var printProp = {showHint:true,hintText:'是否要打印测试报表?',selectPrinter:false};

实例

请参考Bios Server\webapps\iface\report文件夹下的batchPrint.jsp。