大数据量报表 applet 打印

阅读(2137) 标签: applet打印, serverpagedprint,

分页传输方案:

1、打印窗口显示时,先向服务器申请第一页,并显示第一页。

2、在预览窗口按下一页或最后页按钮时,如果此页还没有从服务器取过来,那么先将之取过来并显示。

3、在打印窗口中依然可以改变页面设置、分栏数、缩放打印等,让服务器重新分页,并传第一页来显示。

4、在按打印按钮时,弹出一个新窗口,此窗口中可以选择打印机、设置要打印的页、显示打印进度、停止打印或退出。

为了避免内存溢出,采取每5页为一个打印单位发送给打印机,这5页打印完后就将从内存中清除。

 

实现方法:

步骤一:在web.xml中配置后台分页传输的服务,如下

<servlet>

<servlet-name>com.raqsoft.report.view.PagedPrint</servlet-name>

<servlet-class>com.raqsoft.report.view.PagedPrint</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>com.raqsoft.report.view.PagedPrint</servlet-name>

<url-pattern>/servlet/pagedPrintServer</url-pattern>

</servlet-mapping>

步骤二:htmlTag中增加一个属性

serverPagedPrint="yes"

该属性的含义是:applet打印时是否采用服务器分页后再按页传输的方式,值为yesno。一般大数据量的报表采用此方式