天天看点

JasperReports打印图片

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