Java教程:Jasper-pdf打印类
Java教程:Jasper-pdf打印类
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;@Component
public class JreportUtils {private static Logger logger = LoggerFactory.getLogger(JreportUtils.class);/*** pdf打印** @param jrxmlFileName jasper文件名* @param response 相应* @param map $P{}值* @param list $F{} 数据集* @param <T>* @throws Exception*/public static <T> void printPdf1(String jrxmlFileName, HttpServletResponse response, Map<String, Object> map, List<T> list) throws Exception {if (StringUtils.isEmpty(jrxmlFileName)) {response.setContentType("text/html;charset=utf-8");response.getWriter().print("报表名称不可为空");return;}jrxmlFileName = jrxmlFileName + ".jrxml";InputStream inputStream = new ClassPathResource("/jasper/" + jrxmlFileName).getInputStream();JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(list);JasperReport jasperReport = JasperCompileManager.compileReport(inputStream);ServletOutputStream servletOutputStream = response.getOutputStream();byte[] bytes = null;List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, dataSource);jasperPrintList.add(jasperPrint);//获取输出字节流ByteArrayOutputStream baos = new ByteArrayOutputStream();JRPdfExporter exporter = new JRPdfExporter();exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);//设置多个报表模版exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);//获取pdf文件流exporter.exportReport();bytes = baos.toByteArray();response.setContentType("application/pdf");response.setContentLength(bytes.length);servletOutputStream.write(bytes, 0, bytes.length);servletOutputStream.flush();servletOutputStream.close();}
}
Java教程:Jasper-pdf打印类相关推荐
- java 普通类request_[Java教程]spring在普通类中获取session和request
[Java教程]spring在普通类中获取session和request 0 2014-08-12 08:01:13 在使用spring时,经常需要在普通类中获取session,request等对像. ...
- 王者荣耀用java_王者荣耀版Java教程第二期:类与属性
1.用王者荣耀来学JAVA,理解什么是类? 相信你一定玩过王者荣耀这个游戏,就算没有玩过,肯定也听说过.假如,我们要自己设计这个游戏,你打算怎么做? 用面向过程的思想肯定是不行的,那么多英雄,那么多场 ...
- JAVA--word等文件转PDF工具类
word转pdf工具类 关键代码片段 public static void main(String[] args) { String docPath = "D:\\测试文件. ...
- java程序设计实用教程高飞pdf_普通高等教育“计算机类专业”规划教材:Java程序设计实用教程习题集 pdf epub mobi txt 下载...
普通高等教育"计算机类专业"规划教材:Java程序设计实用教程习题集 pdf epub mobi txt 下载 图书介绍 ☆☆☆☆☆ 高飞,赵小敏,陆佳炜 等 著 下载链接在页面底 ...
- java 配置信息_[Java教程]java 配置信息类 Properties 的简单使用
[Java教程]java 配置信息类 Properties 的简单使用 0 2016-12-08 09:00:09 Properties :(配置信息类) 是一个表示持久性的集合 ,继承 Hashta ...
- Java实现PDF打印的解决方案
1.Java Print Service Java Print Service是Java自带的打印框架,所在的包javax.print.PrintService;. 实现PDF打印的代码流程如下 // ...
- java实现html页面转pdf解决方案_[Java教程]纯js实现html转pdf
[Java教程]纯js实现html转pdf 0 2017-02-16 00:00:30 项目开发中遇到了一个变态需求,需要把一整个页面导出为pdf格式,而且要保留页面上的所有的表格.svg图片和样式. ...
- java删减pdf内容合并_[Java教程]Java基础之PDF文件的合并
[Java教程]Java基础之PDF文件的合并 0 2017-07-28 00:00:45 1.首先下载一个jar包:pdfbox-app-1.7.1.jar 2.代码如下:package com;i ...
- java 连接打印机实现打印PDF文件的功能
java 连接打印机打印PDF文件 需求背景是导出excel并且打印,excel导出设置和转PDF网上有很多资料,本文只记录连接打印机打印PDF的部分. 1: 需要引入maven配置 <depe ...
最新文章
- LeetCode简单题之数组序号转换
- 超过AttGAN,谷歌推出生成文本到图像的新框架 TReCS
- 摩卡业务服务管理(Mocha BSM)解决方案
- python中常见的流程结构-【Python2】04、Python程序控制结构
- 【Binder 机制】AIDL 分析 ( 创建 Service 服务 | 绑定 Service 远程服务 )
- UVALive7670 Asa's Chess Problem,上下界费用流,另类解法
- java获取默认用户目录_Java获取当前路径
- Java 异常处理(标准抛异常、异常处理、多异常、Finally、多线程异常处理、获取异常的堆栈信息、链试异常、自定义异常)
- 谷歌大脑推出机器人强化学习平台,硬件代码全开源,花最少的钱,训超6的机器人...
- Python + OpenCV 环境配置
- 性能测试学习09_场景设计(一)
- dsp呼吸灯C语言编程,pwm呼吸灯原理及程序分享
- Junos: 使用之前
- 新手可以操作的日赚50元的网赚项目
- 怎么制作U盘启动盘来安装系统
- android 动态修改logo,关于app动态修改logo的问题
- python换发型_初学Python的一些细节
- IE不能上网浏览的原因和解决办法
- WM_CHAR,WM_UNICHAR,WM_IME_CHAR
- iOS 利用 Metal 实现滤镜与动效滤镜