为报表添加图片
String embededImgName = "mylogo.bmp";
//添加EmbededImage
EmbeddedImage image = StructureFactory.createEmbeddedImage();image.setType(DesignChoiceConstants.IMAGE_TYPE_IMAGE_BMP);//IMAGE_TYPE_IMAGE_JPEG);InputStream is = this.getClass().getClassLoader().getResourceAsStream("/icons/"+名字);image.setData(load(is)); image.setName(名字); designHandle.addImage(image);
//添加ImageHandle
ImageHandle image1 = efactory.newImage("Logo"); GridHandle grid = efactory.newGridItem("", 1, 1); designHandle.getBody().add(grid); grid.setWidth("100%"); RowHandle gridRow = (RowHandle) grid.getRows().get(0); CellHandle gridCell = (CellHandle) gridRow.getCells().get(0); image1.setImageName(名字); gridCell.getContent().add(image1); gridCell.setProperty(StyleHandle.TEXT_ALIGN_PROP, DesignChoiceConstants.TEXT_ALIGN_CENTER );
加载方法
public byte[] load(InputStream is) throws IOException {byte data[] = null;if (is != null) {try { int length = is.available(); data = new byte[length]; int offset = 0; while (offset < data.length) { int a = is.available(); int bytesRead = is.read(data, offset, a); if (bytesRead == -1) { break; // end of stream } offset += bytesRead; } } catch (IOException e1) {throw e1;}finally{is.close();}}return data; }