Javaweb中报表预览及打印

阅读: 评论:0

Javaweb中报表预览打印
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]

本文发布于:2023-08-15 16:18:27,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/363253.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:Shortreport(
标签:报表   打印   预览   填充   磁盘   录来   需要   相应
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图