Programa em java pra ler codigo de barras

Olá pessoa tudo bem? Eu gostaria de uma ajuda de voçes se tiver um programa free que faz a leitura de codigos de barras de produtos e joga para um banco de dados. Ou um codigo para simular.

Fala dr, boa tarde!

Recentemente tive que fazer uma customização em um sistema feito por mim, para incluir leitura de código de barras. Bom, só para esclarecer, se ainda não sabe…

O leitor de código de barras nada mais faz do que “evitar” que vc tenha que digitar. Ao posicionar o foco sobre um textbox, ou no bloco de notas, word, etc., e vc pressionar o botão do leitor, ele “digitará” para vc o conteúdo as vezes númerico, dependendo do padrão de barras, pode ser alfa-numérico.

Resumindo, o leitor já faz por si só a leitura, basta você adapta-lo a sua necessidade.

Na aplicação em que modifiquei, como temos nossa tabela de produtos interna, eu fiz uma tabela auxiliar de código de barras, para que possamos associar os produtos de nossos fornecedores de acordo com nossa tabela.
Abaixo segue o script das tabelas só para dar uma LUZ :idea:

CREATE TABLE produto(
   id_produto int8 NOT NULL,
   nome varchar(50),
   descricao varchar(50),
   valor_unitario numeric(13,4),
   valor_custo numeric(13,4),
   CONSTRAINT pk_produto_id_produto PRIMARY KEY (id_empresa, id_produto)
);
CREATE TABLE produto_codigo_barra(
   id_produto int8 NOT NULL,
   codigo_barra varchar(50),
   CONSTRAINT pk_produto_codigo_barra_id_produto PRIMARY KEY (id_produto, codigo_barra)
);

Esse programa abaixo que voçe postou o scanner le o produto e consulta no banco de dados verificando se existe, caso não exista ele incluirá? Meu coleta, não se importaria de dizer se existe algum programa free que faça isso? Porque eu preciso meio que urgente algum software ou algum codigo fonte. abraço.

Não; isso é por sua conta.

Meu amigo estou tentando fazer o programa, mas só mais um dúvida! Quando eu ler um produto com o scanner, em outro campo atravez desta leitura ele precisa me trazer o nome do fornecedor.Então para isso eu teria que cadastrar os produtos e fornecedores no banco de dados primeiro? Abraço

Meu colega eu tenho os produtos correspondentes ao codigo de barras em uma tabela. Então eu precisaria so ler com o scanner e em outro campo ele dá o nome do produto e não do fornecedor. Preciso comparar alguma coisa?

Basicamente há 3 tipos de códigos de barras.

Um deles é aquele em que os códigos já estão impressos na embalagem do produto: nesse caso, o código de barras (por exemplo) da Pepsi 1 litro, garrafa PET, normal, é 7892840812942. Ou seja, você precisa cadastrar o produto antes, é óbvio. Para saber o preço, basta procurar no seu cadastro de produtos. É claro que pode haver descontos quanto à quantidade. Atenção - uma embalagem com 12 garrafas de 1 litro de Pepsi tem um código diferente (e pode ter um preço diferente de 12 x preço de 1 garrafa de um litro).

Outro é aquele em que um pedaço do código está cadastrado, e outro indica a quantidade ou peso (por exemplo, 546 gramas de mortadela Ceratti fatiadas - a balança imprime um código desses nas etiquetas. Para dar baixa no estoque você precisa saber o produto e a quantidade, para calcular o preço também.

O terceiro é aquele em que um pedaço do código é o ISBN, que está cadastrado, (número de registro de uma revista, jornal ou outro material impresso), e o resto do código é a edição (por exemplo, o número 456 da Veja ou a edição 24577 do Estado de São Paulo. ) Para efeitos de estoque, você precisa então saber a edição ou o número, mas para efeitos de preço você normalmente não precisaria (exceto, é claro, quando você vende números atrasados e eles têm preços diferentes).

Sim entendi, mas em relação ao código eu nunca mexi com leitor de códio de barras?abraço

Eu entendo que o leitor imprime no jTextField o número do código de barras mas quando faço isso, o meu jTextField recebe apenas alguns ZEROS sendo que esse não é o código de barras.

Quando abro o WordPad, por exemplo, e escaneio o código com o leitor, o código aparece corretamente no software, mas no meu jTextField não.

Alguém sabe como resolvo isso?

Obrigado!