long start = System.currentTimeMillis();
JasperPrint jasperPrint = JasperFillManager.fillReport("H:\\hyxprintworkspace\\taobao\\sfDemo\\src\\com\\sf\\openapi\\waybill\\print\\util\\poster_100mm150mm.jasper", null, new JREmptyDataSource());
JRGraphics2DExporter exporter = new JRGraphics2DExporter();//创建graphics输出器
//创建一个影像对象
BufferedImage bufferedImage = new BufferedImage(jasperPrint.getPageWidth() * 4, jasperPrint.getPageHeight() * 4, BufferedImage.TYPE_INT_RGB);
//取graphics
Graphics2D g = (Graphics2D) bufferedImage.getGraphics();
//设置相应参数信息
exporter.setParameter(JRGraphics2DExporterParameter.GRAPHICS_2D, g);
exporter.setParameter(JRGraphics2DExporterParameter.ZOOM_RATIO, Float.valueOf(4));
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.exportReport();
g.dispose();//释放资源信息
//这里的bufferedImage就是最终的影像图像信息,可以通过这个对象导入到cm中了.
ImageIO.write(bufferedImage, "JPEG", new File("d:/aa.jpg"));
JasperReports是一个非常流行的开源报表工具
所有的报表工具都离不了三个步骤:第一个就是定义报表模板, 第二个就是给模板填充数据, 第三个就是将最终数据的报表输出。
JasperReports的模板文件是一个后缀名为jrxml的xml文件, 它包含这样几个主要元素:
<jasperReport> 根元素
<title>标题
<pageHeader>页头
<detail>具体内容
<pageFooter>页尾
<band>作为以上元素的子元素, 用来定义报表区域
除了jasperReport之外, 其他元素都不是必须的
下面是一个jrxml文件的定义,用来输出helloworld