Dúvida sobre Código de barras

Bem gente, eu dei uma olhada em alguns tópicos sobre esse assunto aqui no GUJ, li também o tutorial sobre o assunto, porém ainda ficaram algumas dúvidas.

1º Pelo que li por ai, existe um orgão responsável por controlar os códigos de barras. Baseado nisso me surgiu a seguinte questão, digamos que eu tenha um sistema para controle de uma escola, e eu queira criar uma carteirinha para cada aluno e nessa carteirinha eu teria um códigos de barras seja 2D ou 3D que identificaria o aluno no sistema, vejam que esses códigos se restringiriam apenas para uso no sistema onde foram gerados, ou seja, na escola.
Para que eu possa implementar isso eu teria que pedir autorização para o orgão responssável?
Teria que comprar um tipo de pacote contendo uma quantidade de códigos que eu poderia usar?
Como funciona essa parte?

2º No tutorial que li aqui no GUJ fala que para gerar códigos de barras para para boletos bancario, antigamente o proprio banco fornecia os boletos pre-impressos e o sistema imprimiria apenas os dados nos boletos. Porém hoje em dia os sistemas imprimem tudo desde a grade até o código de barras. Sendo assim me surgiu outra questão. Já que o banco não me da nada, como eu saberei que o código de barras que o meu sistema gerar vai ser reconhecido pelo sistema do banco?

Bem agora tomando como base essas duas questões acima, digamos que um cliente me contrate para desenvolver um sistema para a sua escola e queira implementar nesse sistema as duas caracteristicas acima (código de barras 2D ou 3D (de preferência o 3D) para cada aluno e gerar boletos para que as mensalidades possam ser pagas no banco).

Por onde eu deveria começar, burocraticamente falando?
Ir no banco pedir informações? Entrar em contato com o orgão que controla os códigos de barras?

Isso é muito importante para mim pois essa é a primeira vez que estou usando código de barras nesse nível em um sistema. Antes disso o máximo que cheguei perto foi num sistema de locadora de vídeo cadastrando os dvd pelo código de barras. Mas gerar códigos e gerar boletos isso nunca.

Agradeço qualquer ajuda.

Alguém trabalha ou ja trabalhou com código de barras aqui?

Francamente não da para simplesmente aceitar que uma pergunta de um assunto tão popular entre desenvolvedores de softs e sistemas, depois de passar por 2 dos maiores foruns de java e rebeber mais de 170 leituras não ter se quer 1 resposta. Também não da pra acreditar que em pleno ano 2009 ainda exista o famoso “pano preto” onde profissionas arcaicos com medo da concorrência não passam informaçõe.

Pode surgir alguns agora falando pra eu procurar na net ou me manda o link do google, porém código de barras é um assunto escaço na internet, as poucas informações que se encontram são para quem ja tem certa experiência com o assunto e nenhuma responde as duas perguntas simples que fiz acima.

Desculpem minha indignação mas é ruin de engolir.

Cara relaxa…
eu acabei de terminar de desenvolver um servidor de boletos bancarios…
não é preciso vc entrar em contato com banco nenhum…
é bem simples…
tem bibliotecas free como o barcorde.jar que gera isso pra vc de acordo com a numeração passada pra ela…vc só tem que setar qual o formato do boleto vc precisa…(em relação ao formato…isso sim vc tem que dar uma pesquisada sobre cada um e para o que eles servem…).

Outra saída é mais simples ainda…EXISTEM FONTES DE CARACTERES PARA O WINDOWS QUE SÃO CÓDIGOS DE BARRAS… VC PODERIA BAIXAR ESSE FONT E INSTALA-LO NA MÁQUINA…
SÓ ISSO…

POSTA AÍ SE QUISER SABER MAIS OK?

ABRAÇO!
8)

cara, muito obrigado pela ajuda, até que em fim alguém disposto a responder perguntas tão simples como estas.

Então quer dizer q não existe esse lance de orgão regulamentador de códigos de barras, ok

só que ainda tenho uma dívuda.

Já que não precisa haver nenhum contato com o banco, como eu saberei que o código de barras que o meu sistema gerar vai ser reconhecido pelo sistema do banco?

Digamos que meu sistema gere um carnê para os alunos pagarem as suas menssalidades no banco, como funciona essa interação entre o meu sistema e o sistema do banco, como é que eu sei que o sistema do banco vai entender meu código de barras?

quer informações estão por trás do código de barras gerado?

a) numero da conta, agencia, valor?

b) outra___________________

agradeço a ajuda

Matheus o que eu estou te passando, não posso dizer que é 100% de certeza, mas é o que eu pude concluir com tudo que eu fiz…
Primeiramente como falei anteriormente o cod barras nada mais é do que um fonte (como ARIAL, TIMES NEW ROMAN, etc) no qual somente o computador é capaz de interpretar tendo em vista que ele é capaz de reconhecer cada caracter.

O boleto bancário é composto de uma numeração de 48 dígitos sendo que o ultimo dígito é o dígito verificador que se eu não me engano é posto na hora da leitura.É mais ou menos isso, não irei te dizer com certeza pq não lembro…(Pesquise…)
Meu programa é um servidor de impressão…um outro sistema que se concta ao meu é que passa essa numeração para mim e eu as coloco no seu respctivo lugar e mando para a fila de impressão.
As informações que vêm junto a esses números eu não sei…mas isso tbm já se torna mais fácil de procurar…
(Irei fazer uma busca e postarei aqui tbm quando eu achar)

E por fim, o caso que vc havia falado que era para a carteira escolar creio que o que eu lhe passei resolva perfeitamente seu problema. Porém volto a ressaltar que vc deve seguir os padrões dos cods de barras e ver qual se adequa mais para vc.
Como é uma carteira eu acho que o melhor cod é o EAN13(procure por esse fonte).
Ele é composto de 12 caracteres onde o ultimo o prório gerador dar, formando assim 13 caracteres.

No meu ponto de vista esse padrão seria o melhor para vc!
8)

[quote=matheusssilva]cara, muito obrigado pela ajuda, até que em fim alguém disposto a responder perguntas tão simples como estas.

Então quer dizer q não existe esse lance de orgão regulamentador de códigos de barras, ok

só que ainda tenho uma dívuda.

Já que não precisa haver nenhum contato com o banco, como eu saberei que o código de barras que o meu sistema gerar vai ser reconhecido pelo sistema do banco?

Digamos que meu sistema gere um carnê para os alunos pagarem as suas menssalidades no banco, como funciona essa interação entre o meu sistema e o sistema do banco, como é que eu sei que o sistema do banco vai entender meu código de barras?

quer informações estão por trás do código de barras gerado?

a) numero da conta, agencia, valor?

b) outra___________________

agradeço a ajuda
[/quote]

Oi,

Existe uma composição para formatação de código de barras no qual
pode ser visualizada na documentação “BLOQUETOS DE COBRANÇA” da FEBRABAN (Federação Brasileira de Associação de Bancos).

Podemos dizer que existem dois tipos de contas.: Consumo e Bancarias.

[b]Consumo:

1 ? Prefeitura;
2 ? Saneamento;
3 ? Energia Elétrica e Gás;
4 ? Telecomunicações;
5 ? Órgãos Governamentais;
6 ? Carnês e Assemelhados ou demais empresas / ógãos identificadas através do CNPJ;
9 ? Uso interno do banco.

Bancarias:

1 - Bancarias ;)[/b]

Existem varios critério para implementação, como.: Calculo de dígito verificador (DAC), calculo do fator de vencimento e para linha
digitavel (Pois podem ser lidos ou digitados).

Em relação as outras perguntas, elas serão respondidas ao ler a espec sobre código de barras.

Qualquer dúvida na codificação, pode perguntar… ok?

Tchauzin!

Pronto…falou tudo e mais um pouco!
8)

Blz, valeu gente,.

Enquanto não conseguia respostas por aqui andei fuçando a net e descobri o que eu queria. Descobri também que para que o banco entenda seu código vc precisa seguir um padrão que foi criado pela FEBRABAN, FEderação de Bancos e bla,bla. Entrei no site consegui a cartilha que da as instruções de como usar os códigos de barras, descobri até como calcular o bendito código verificador que antes eu nem sabia para que servia. Porém a cartilha ainda fala de muitas coisas q não entendo, esse fator de vencimento por exemplo não sei qual a finalidade disso, Identificador de Valor Efetivo ou Referência, Identificação da Empresa/Órgão. Existe também umas tabelas onde fala de “CAMPOS” A.01, A.02, … G.01, G.02,…

Se alguém pudesse dar um exemplo usando um código e explicando as partes dele seria bacana.

Grato pela ajuda.

Oi,

Conforme diz na espec da FEBRABRAN, todos essas situações (Calculo do digito verificador, Calculo para Fator de Vencimento etc…)
servem para segurança e conferencia. Ou seja, para identificar se o código de barras é um código válido e não burlado.
Já o calculo para Fator de Vencimento, serve para conferencia se a data de vencimento (visual para o usuário) confere com o que
está dito no código de barras.

Como especificado no tópico de Calculo p/ Fator de Vencimento, a posição presente no código de barras é de 06-09.

Sendo assim, dá para imaginar em código JAVA o seguinte.:

int fator_vencimento = Integer.parseInt(<String do código de barras>.substring(5,9)); // Pq de 5 a 9 e não 6 a 9 ? lembre-se que você está utilizando substring. // Para maiores detalhes procure na api.

Agora, se o fator de vencimento recebido for < (menor) do que 1000 significa que no código de barras não existe um
fator de vencimento. Se existir, em código poderia ficar assim:

[code]if (fator_vencimento >= 1000) {
Date
vencimento_data = <07/10/1997> somando número de dias da variavel fator_vencimento;

// O que está em <> poderia ser criado uma variavel static final pois isso é definido pela FEBRABRAN e "nunca" mudará.

}[/code]

Pronto já temos o vencimento presente no código de barras e conforme a espec deverá ser solicitado ao operador
uma confirmação desta data. (Se a data visual na conta é a mesma que encontramos no código acima).

Tchauzin!

Ele só controla aqueles códigos que aparecem em mercadorias; para suas carteirinhas esteja à vontade para usar qualquer código.