import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
pctools5.0import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.ine.JREmptyDataSource;
import net.ine.JRExporterParameter;
import net.ine.JRParameter;羟丙基环糊精
import net.ine.JasperFillManager;
import net.ine.JasperPrint;
import net.ine.JasperReport;
轴流式压缩机import net.port.JRPdfExporter;
import net.ine.fill.JRFileVirtualizer;
import net.ine.util.JRLoader;
public class ReportPrintUtil {
private JasperPrint getJasperPrint(JasperReport jReport, Map paramMap) {
JasperPrint jPrint = null;
try {
jPrint = JasperFillManager.fillReport(jReport, paramMap, new JREmptyDataSource());
} catch (Exception er) {
er.printStackTrace();
}
return jPrint;文章乃经国之大业
}
/**
* ⽀持多报表同时预览及打印
* @param request
* @param response
* @param url 报表存储(相对)路径
* @param paramMapList 报表参数值集合
*/
public void doPrint(HttpServletRequest request, HttpServletResponse response,String url, List paramMapList){ try{
List jasperPrintList = new ArrayList();
JasperReport jReport = (JasperReport) JRLoader.loadObject(getClass().getResource(url));
for (Iterator iter = paramMapList.iterator(); iter.hasNext();) {
Map paramMap = (Map) ();
jasperPrintList.JasperPrint(jReport, paramMap));
}
Map parameters = new HashMap();
JRFileVirtualizer virtualizer = new JRFileVirtualizer(2);
parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
// 填充完毕,锁住磁盘
virtualizer.setReadOnly(true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
byte[] bytes = ByteArray();
// 设置报表以 pdf 格式输出
被折磨的男孩response.setContentType("application/pdf");
response.setContentLength(bytes.length + 10);
ServletOutputStream ouputStream = OutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}catch(Exception err){
err.printStackTrace();
}
}诗歌的特点
}
[color=red][b](注:采⽤PDF格式打印时,需要安装相应的PDF阅读器才能进⾏预览。)[/b][/color]