Imprimir imagem, gerada dinamicamente, numa JSP?

2 respostas
S

Olá

Estou criando uma imgem, (código de barras) e quero imprimir em uma jsp.

Alguem sabe como ???

Ela vem no formato de BufferedImage.

2 Respostas

J

Você pode criar um Servlet (ou JSP mesmo) que gere a imagem... tipo isso:

public class ServletCodigoBarras extends javax.servlet.http.HttpServlet{

   public void doGet(HttpServletRequest request, HttpServletResponseresponse) throws ServletException, IOException {

      ServletOutputStream out = response.getOutputStream();

      ByteArrayOutputStream jpegStream = new ByteArrayOutputStream();

      try {
         BufferedImage barras = //gerar imagem
         JPEBImageEncoder jpegEncoder = JPEBCodec.createJPEGEncoder(jpegStream);
         jpegEncoder.encode(barras);
      }catch (Exception e) {         
         return;
      }
      byte[] jpegBytes = jpegStream.toByteArray();
      response.setHeader("Cache-Control", "no-store");
      response.setHeader("Pragma", "no-cache");
      response.setDateHeader("Expires", 0);
      response.setContentType("image/jpeg");
      out.write(jpegBytes);
      out.flush();
      out.close();
   }
}

E na pagina você mostra a imagem assim:

<img src="ServletCodigoBarras" />

esse codigo eu tirei do meu tutorial sobre Captcha, dê uma olhada lá que tem mais coisa... o esquema é o mesmo, só a imagem que muda...

http://www.devmedia.com.br/visualizacomponente.aspx?comp=1967

S

Valeu,

No fim eu fiz isso mesmo. Com um pouco menos de linhas, mas a mesma coisa.

Valeu pela força!!

Criado 25 de setembro de 2006
Ultima resposta 26 de set. de 2006
Respostas 2
Participantes 2