Codigo de Barras no java ( JSP )

5 respostas
V

Estou tendo problemas ao gerar um cogido de barras nao estou intendendo o erro que esta dando :

[javac] symbol : class PageContext
[javac] location: class br.com.novosis.bd.GeraBoleto
[javac] public boolean criaImagem(String texto, PageContext pageContext, int h)
[javac] ^
[javac] 2 errors

alguem pod me ajudar por favor !!!

5 Respostas

V
import java.awt.Color;

import java.awt.Graphics;

import java.io.IOException;
import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.jsp.PageContext;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class GeraBoleto {

// geredor de codigo de barras
// 

public boolean criaImagem(String texto, PageContext pageContext, int h)
		throws ServletException, IOException {int i, j, tam;
	//Variavel que contem a representacao em Codigo de Barras de cada um
	// dos numeros.
	//Nessa representacao:
	// 0 significa Barra Fina (NARROW);
	// 1 significa Barra Grossa (WIDE).
	String[] barras = {
			"00110", //0
			"10001", //1
			"01001", //2
			"11000", //3
			"00101", //4
			"10100", //5
			"01100", //6
			"00011", //7
			"10010", //8
			"01010" };//9
	//O Codigo de barras e formado sempre por pares intercalados.
	//Por exemplo 12:
	//Pegando-se a representacao do 1 e do 2 na variavel acima teriamos o
	// seguinte:
	//[telefone removido].
	//Com isso, o primeiro numero representa as Barras Pretas (Fina ou
	// Grossa)
	// Grossa).
	int preto, branco;
	int w = 9 + (9 * texto.length());
	HttpServletResponse response;
	response = (HttpServletResponse) pageContext.getResponse();
	ServletOutputStream out = response.getOutputStream();
	java.awt.image.BufferedImage image = new java.awt.image.BufferedImage(
			w, h, java.awt.image.BufferedImage.TYPE_INT_RGB);
	Graphics g = image.getGraphics();
	tam = 0;
	g.setColor(Color.white);
	g.fillRect(0, 0, w, h); //começo do Codigo de Barras = 0 = 00 / 1 = 00
	g.setColor(Color.black);
	g.fillRect(tam, 0, tam + 1, h);
	tam++;
	g.setColor(Color.white);
	g.fillRect(tam, 0, tam + 1, h);
	tam++;
	g.setColor(Color.black);
	g.fillRect(tam, 0, tam + 1, h);
	tam++;
	g.setColor(Color.white);
	g.fillRect(tam, 0, tam + 1, h);
	tam++;
	//Conteudo do Codigo de Barras
	for (i = 0; i <= texto.length() - 1; i++) {
		preto = Integer.parseInt(String.valueOf(texto.charAt(i)));
		branco = Integer.parseInt(String.valueOf(texto.charAt(i + 1)));
		i++;
		for (j = 0; j < 5; j++) {
			g.setColor(Color.black);
			if (String.valueOf(barras[preto].charAt(j)).equals("0")) {
				g.fillRect(tam, 0, tam + 1, h);
				tam++;
			} else {
				g.fillRect(tam, 0, tam + 3, h);
				tam += 3;
			}
			g.setColor(Color.white);
			if (String.valueOf(barras[branco].charAt(j)).equals("0")) {
				g.fillRect(tam, 0, tam + 1, h);
				tam++;
			} else {
				g.fillRect(tam, 0, tam + 3, h);
				tam += 3;
			}
		}
	}

	//fim da barra = 0 = 10 / 1 = 0
	g.setColor(Color.black);
	g.fillRect(tam, 0, tam + 3, h);
	tam += 3;
	g.setColor(Color.white);
	g.fillRect(tam, 0, tam + 1, h);
	tam++;
	g.setColor(Color.black);
	g.fillRect(tam, 0, tam + 1, h);
	tam++;

	JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
	encoder.encode(image);
	//GifEncoder encoder = new GifEncoder(BarImage ,outb);
	//encoder.encode();
	// ESSAS DUAS LINHAS ACIMA CRIARIAM UM .gif
	out.close();
	return true;
}

}

sera q esta certo ??

Rodrigo_Vieira_Pinto

Cara, não li o código que vc usou, mas dá uma olhada nos artigos que tem aqui no site. Um deles fala sobre código de barras. :wink:

kina

Como vc está compilando??
Colocou o classpath do j2ee???
se não colocou não vai funcionar ^^
rode assim:
javac -classpath %J2EE_HOME%/lib/j2ee.jar classe.java

sendo J2EE_HOME = local onde está o seu j2ee

V

é mais olha os paus q ta dando:

[javac] C:\eclipse3.0.1\workspace\PrototipoNvsweb\src\br\com\novosis\bd\Boleto\GeraBoleto.java:10: package javax.servlet.jsp does not exist

[javac] import javax.servlet.jsp.PageContext;

[javac] ^

[javac] C:\eclipse3.0.1\workspace\PrototipoNvsweb\src\br\com\novosis\bd\Boleto\GeraBoleto.java:20: cannot resolve symbol

[javac] symbol  : class PageContext

[javac] location: class br.com.novosis.bd.Boleto.GeraBoleto

[javac] public boolean criaImagem(String texto,PageContext pageContext, int h)

[javac] ^

[javac] 2 errors

BUILD FAILED: C:\eclipse3.0.1\workspace\PrototipoNvsweb\build.xml:19: Compile failed; see the compiler error output for details.
V

aond eu tenho q por o class path no eclipse ??

Criado 1 de agosto de 2005
Ultima resposta 1 de ago. de 2005
Respostas 5
Participantes 3