jasperReport实现页面嵌套pdf预览
来源:互联网 发布:淘宝客服经理岗位职责 编辑:程序博客网 时间:2024/06/04 00:58
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(InputStream arg0, OutputStream arg1) 能够实现导出pdf到输出流,但是因为JasperExportManager的exportReportToPdfStream没有设计字体,导致有时候实现不了粗体的功能。
查看JasperExportManager.exportReportToPdfStream的源码就明白了:
public static void exportReportToPdfStream(JasperPrint jasperPrint, OutputStream outputStream)
throws JRException
{
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
exporter.exportReport();
}
因此我们可以自己写一段代码代替JasperExportManager.exportReportToPdfStream,如下
JRPdfExporter exporter = new JRPdfExporter();
Map fontsMap = new HashMap();
fontsMap.put(new FontKey("宋体", true, false), new PdfFont("STSong-Light", "UniGB-UCS2-H", true, true, false));
exporter.setParameter(JRExporterParameter.FONT_MAP, fontsMap);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
exporter.exportReport();
整个实现页面嵌套pdf预览的代码如下:
Map ireportMap = new HashMap();
ireportMap.put("clientNo", "D000000925");
ireportMap.put("clientName", "测试客户");
ireportMap.put("barCode", "CS0100000002333");
ireportMap.put("barCodeStr", "C S 0 1 0 0 0 0 0 0 0 2 3 3 3");
ireportMap.put("ImagePath", request.getRealPath("images/logo_print.jpg"));
ClassLoader classLoader = RiskConfirmController.class.getClassLoader();
OutputStream out = null;
try {
out = response.getOutputStream(); // 获取页面输出流
response.setContentType("application/pdf; charset=utf-8"); // 设置页面类型及编码
response.setDateHeader("Expires", 0); // 清除页面缓存
//risk_controler_confirm.jasper riskcontrolerconfirm
response.setHeader("Content-Disposition", "inline;filename="+ URLEncoder.encode("risk_controler_confirm.pdf", "utf-8")); // 设置文件名
JasperPrint jPrint = JasperFillManager.fillReport(classLoader.getResourceAsStream("risk_controler_confirm.jasper"),ireportMap, new JREmptyDataSource()); // 模板填充数据
JRDesignReportFont jrfont = new JRDesignReportFont();
//JasperExportManager.exportReportToPdfStream(jPrint, out); // 生成PDF输出流
JRPdfExporter exporter = new JRPdfExporter();
Map fontsMap = new HashMap();
fontsMap.put(new FontKey("宋体", true, false), new PdfFont("STSong-Light", "UniGB-UCS2-H", true, true, false));
exporter.setParameter(JRExporterParameter.FONT_MAP, fontsMap);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
exporter.exportReport();
if (out != null){
out.flush();
}
- jasperReport实现页面嵌套pdf预览
- 如何实现页面在线预览PDF文档
- Extjs6+svg实现类似pdf图片预览页面
- 浏览器实现PDF预览
- 浏览器实现PDF预览
- Android实现pdf预览
- 在html页面显示pdf,实现pdf的预览和下载
- Android实现PDF预览打印
- 移动端实现预览pdf
- Jsp页面调用Jasperreport报表模板生成pdf、excel、html
- 页面设置预览实现
- pdf.js使用和JS实现嵌套Iframe页面F11全屏效果
- jasperreport实现Html、Pdf、Rtf、Excel、Xml报表导出
- jasperreport实现Html、Pdf、Rtf、Excel、Xml报表导出
- 使用JasperReport制作PDF,Excel报表(Struts2实现)
- jasperreport实现Html、Pdf、Rtf、 Excel、Xml报表导出
- iReport+JasperReport实现数据库记录导出到pdf文档
- jasperreport显示PDF格式
- PostgreSql 中常用sql
- SQL分割字符串
- 交换两个整数值,不用临时变量
- C编程第5篇---指针和数组
- linux扩展分区
- jasperReport实现页面嵌套pdf预览
- 卸载 cocos2d/x 模板
- 模拟手机情景模式
- PhoneGap 2.x ios 版使用
- Win32编程2
- android中的数据库操作
- 在tomcat里添加环境变量
- 软工12-13-2 实验报告二——住房贷款计算器
- C/C++ 多线程