单个或者多个jasper文件生成PDF文件
来源:互联网 发布:影响一生的书籍知乎 编辑:程序博客网 时间:2024/05/16 07:12
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;
public class TestUtils {
public static void main(String[] args) throws JRException {
getFirst();
getPa();
}
private static void getFirst() throws JRException {
// 第一步:装载jasper文件
File jasperFileName = new File("c://test2.jasper");
// 第二步:设置参数值
/* 设置参数 */
HashMap<String, Object> params = new HashMap<String, Object>();// 建立参数表
params.put("name","我们的产品"); // 设置参数值
// 第三步:利用JasperRunManager生成PDF文件
JasperRunManager.runReportToPdfFile(jasperFileName.getPath(),
params, new JREmptyDataSource());
}
private static void getPa() throws JRException{
JRPdfExporter jrpdf = new JRPdfExporter();
JasperReport report1 = (JasperReport) JRLoader.loadObject(new File("c://test.jasper"));
JasperReport report2 = (JasperReport) JRLoader.loadObject(new File("c://test2.jasper"));
List<String> list = new ArrayList<String>();
list.add("测试数据");
JRBeanCollectionDataSource ds1 = new JRBeanCollectionDataSource(list);
JRBeanCollectionDataSource ds2 = new JRBeanCollectionDataSource(list);
HashMap<String, Object> params = new HashMap<String, Object>();// 建立参数表
params.put("name", "我们的产品"); // 设置参数值
JasperPrint jasperPrint = JasperFillManager.fillReport(report1,params,ds1);
JasperPrint jasperPrint2 = JasperFillManager.fillReport(report2,params,ds2);
List jasperPrintList = new ArrayList();
jasperPrintList.add(jasperPrint);
jasperPrintList.add(jasperPrint2);
File file = new File("c://Test.pdf");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
exporter.exportReport();
byte[] bytes = baos.toByteArray();
// 确定写出文件的位置
try {
// 建立输出字节流
FileOutputStream fos = new FileOutputStream(file);
// 用FileOutputStream 的write方法写入字节数组
fos.write(bytes);
System.out.println("写入成功");
// 为了节省IO流的开销,需要关闭
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
1 0
- 单个或者多个jasper文件生成PDF文件
- Jasper生成PDF文件
- java 压缩单个文件,多个文件,或者压缩文件夹
- php上传单个或者多个文件函数
- common-fileupload 上传单个或者多个文件 示例
- android 文字或者图片生成.pdf文件
- android 文字或者图片生成.pdf文件
- C#生成单个文件
- 水晶报表的多个报表生成一个pdf文件
- jasper 生成 PDF 代码
- Struts2上传单个或多个文件
- android上传单个或多个文件
- java 单个或多个文件上传
- 上传单个或多个文件
- Android生成PDF文件、webview加载本地PDF或者网络PDF
- 在Java中使用pscp命令上传单个或者多个文件(文件夹)到远程Linux服务器
- 单个文件支持或者关闭ARC
- 单个文件支持或者关闭ARC
- 2组的项目计划
- Spring读书笔记-----使用Spring容器(二)
- 关于Unity与Android通信与交互
- EditBox
- LeetCode Longest Palindrome(计算最长的对称串)
- 单个或者多个jasper文件生成PDF文件
- 给大家分享一张CSS选择器优选级图谱 !
- 欢聚时代(YY)面试
- PowerDisigner15.1安装教程
- JavaScript高级技巧
- Hive 设置map 和 reduce 的个数
- Shell基础(二)
- 程序运行时间的统计
- 网口扫盲三:以太网芯片MAC和PHY的关系