2
* JasperReports - Free Java Reporting Library.
3
* Copyright (C) 2001 - 2009 Jaspersoft Corporation. All rights reserved.
4
* http://www.jaspersoft.com
6
* Unless you have purchased a commercial license agreement from Jaspersoft,
7
* the following license terms apply:
9
* This program is part of JasperReports.
11
* JasperReports is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
16
* JasperReports is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU Lesser General Public License for more details.
21
* You should have received a copy of the GNU Lesser General Public License
22
* along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
24
package net.sf.jasperreports.engine.xml;
26
import java.io.ByteArrayInputStream;
27
import java.io.ByteArrayOutputStream;
29
import net.sf.jasperreports.engine.JRException;
30
import net.sf.jasperreports.engine.JRImageRenderer;
31
import net.sf.jasperreports.engine.JRPrintImage;
33
import org.apache.commons.codec.binary.Base64;
36
* @author Teodor Danciu (teodord@users.sourceforge.net)
37
* @version $Id: JRPrintImageSourceObject.java 3034 2009-08-27 11:58:04Z teodord $
39
public class JRPrintImageSourceObject
46
private JRPrintImage printImage = null;
51
private boolean isEmbedded = false;
57
public void setPrintImage(JRPrintImage printImage)
59
this.printImage = printImage;
66
public void setEmbedded(boolean isEmbedded)
68
this.isEmbedded = isEmbedded;
75
public void setImageSource(String imageSource) throws JRException
81
byte[] decodedBytes = Base64.decodeBase64(imageSource.getBytes("UTF-8")); //FIXMENOW other encodings ?
82
printImage.setRenderer(JRImageRenderer.getInstance(decodedBytes));//, JRImage.ON_ERROR_TYPE_ERROR));
86
throw new JRException("Error decoding embedded image.", e);
91
printImage.setRenderer(JRImageRenderer.getInstance(imageSource));