大数据量报表applet打印
分页传输方案
1、打印窗口显示时,先向服务器申请第一页,并显示第一页。
2、在预览窗口按下一页或最后页按钮时,如果此页还没有从服务器取过来,那么先将之取过来并显示。
3、在打印窗口中依然可以改变页面设置、分栏数、缩放打印等,让服务器重新分页,并传第一页来显示。
4、在按打印按钮时,弹出一个新窗口,此窗口中可以选择打印机、设置要打印的页、显示打印进度、停止打印或退出。
为了避免内存溢出,采取每5页为一个打印单位发送给打印机,这5页打印完后就将从内存中清除。
实现方法
步骤一:在web.xml中配置后台分页传输的服务,如下
<servlet><servlet-name>com.runqian.report4.view.PagedPrint</servlet-name><servlet-class>com.runqian.report4.view.PagedPrint</servlet-class></servlet><servlet-mapping><servlet-name>com.runqian.report4.view.PagedPrint</servlet-name><url-pattern>/servlet/pagedPrintServer</url-pattern></servlet-mapping>
步骤二:htmlTag中增加一个属性
serverPagedPrint="yes"
该属性的含义是:applet打印时是否采用服务器分页后再按页传输的方式,值为yes或no。一般大数据量的报表采用此方式