Galera, preciso gerar alguns boletos no meu sistema, vasculhei a net e encontrei 2 bibliotecas que fazem isso (JBoleto e Bopepo), das duas eu achei o JBoleto mas simples para configurar o boleto, mas encontrei em algumas páginas que na hora de pagar o boleto no banco ele não estava sendo aceito, alguns disseram que ele foi descontinuado, isso é verdade?Na opinião de vocês, qual dos dois eu devo usar?
vc pode usar a JBoleto ou o próprio iReport…
t+ e boa sorte.
sobre o banco aceitar ou não, vc precisa gerar os boletos no layout do banco q quer usar, após gerar é só levar a uma agencia para ver com o gerente ou responsavel se está tudo legal.
t+ e boa sorte.
iReport?!Essa eu não sabia, você tem algum material sobre isso?
Cara olha aí logo abaixo o que já escrevi em outra thread. Vc desenvolver um boleto usando jasper reports?
Bom, só faz isso se nenhuma biblioteca te atender.
Use o Bopepo porque ele é simples sim, ele te permite a geração de um boleto padrão de forma muito simples:
http://www.jrimum.org/bopepo/wiki/Componente/Documentacao/Tutoriais/GeracaoDeBoletoPadrao
E o bom é que vc tem uma lista de discussão para tirar dúvidas só sobre boleto, se precisar:
http://groups.google.com.br/group/jrimum-community
[quote=gilmatryx]Derivado de http://www.guj.com.br/prepost/233335/1201016/jboleto-deprecated-
Diante do projeto, das tecnologias envolvidas e de todo o suporte,…
Todos que migraram do JBoleto são unânimes em afirmar que o Bopepo, que está em constante evolução, do projeto JRimum
É a melhor opção, veja alguns comentários:
[quote][i]"(…)muito obrigado pelas dicas, talvez eu ainda vá precisar de mais alguma outra daqui para frente, mas posso dizer que estou impressionado com o suporte e feliz por ter encontrado o Jrimum.
Obs: tem suporte pago por aí que não tem metade da eficiência desta lista. Valeu!(…)"
Marcio Sfalsin - Objetiva Sistemas - Diretor de Tecnologia
https://groups.google.com/d/topic/jrimum-community/q1-K80Y1LW8/discussion
[/i][/quote]
[quote][i]"(…)Em primeiro lugar, parabéns pelo Bopepo e pelo projeto JRimum como um
todo. Já utilizei o JBoleto e pelo que vi até agora é outro mundo,
muito menos engessado e já bem arquitetado logo de início.(…)"
Renato Atilio
https://groups.google.com/d/topic/jrimum-community/xpbPEdOWHko/discussion
[/i][/quote]
[quote][i]"(…)Aguardo resposta e parabéns pelo Bopepo. Estava usando o JBoleto e não
há uma forma fácil de gerar guias de arrecadação com o mesmo.(…)"
Erisvaldo
https://groups.google.com/d/topic/jrimum-community/3LdS69-SNjY/discussion
[/i][/quote]
[quote][i]"(…)Atualmente no projeto em que trabalho vinha sendo utilizado o JBoleto, mas o Bopepo me pareceu bem mais completo e de fácil personalização.(…)"
Geovanny Ribeiro
https://groups.google.com/d/topic/jrimum-community/QH0DpMIt7pg/discussion
[/i][/quote]
[quote][i]"(…)Vou estudar a biblioteca Bopepo para poder ajudar também.
Valeu e parabéns pelo projeto.(…)"
Aroaldo
https://groups.google.com/d/topic/jrimum-community/pmOsOyoP49w/discussion
[/i][/quote]
[quote][i]"(…)Gostaria de agradecer pelo empenho e pela atenção. Parabéns novamente
pelo ótimo projeto.(…)"
Chailon
https://groups.google.com/d/topic/jrimum-community/rQiuOUUvj3E/discussion
[/i][/quote]
Além de gerar um boleto padrão sem esforço algum…
Se vc quiser personalizar o boleto, ele permite personalização através de templates PDFs.
Você pode usar o OpenOffice para desenhar o boleto e depois exportar para pdf. É simples.
Veja este vídeo de personalização de boletos com Bopepo:
[youtube]http://www.youtube.com/watch?v=0kRa2wprDdQ[/youtube]
Este vídeo mostra como gerar boletos personalizados através do componente Bopepo do Projeto JRimum. O vídeo foca num dos recursos mais interessantes, que é como adicionar campos dinâmicos, ou seja, campos que podem ter seus valores fornecidos em tempo de execução.
Ver tutoriais.
http://www.jrimum.org/bopepo/wiki/Componente/Documentacao/Tutoriais
Na versão mais atual já são suportados 20 bancos, é o mais completo atualmente, estamos só aguardando mais feedback do pessoal para lançar a versão final.
http://www.jrimum.org/bopepo/ticket/47
- Banco do Brasil
- Bradesco
- #13 - Banco Real
- #14 - Itaú
- #15 - Unibanco
- #17 - Safra
- #18 - Mercantil
- #19 - HSBC
- #21 - Banrisul
- #22 - Nossa Caixa S.A.
- #24 - Banestes
- #25 - BANCO SANTANDER S.A.
- #38 - Banco J. Safra
- #39 - Banco SICREDI
- #40 - CEF
- #48 - Banco Rural
- #56 - Banco Intermedium
- #57 - Banco do Nordeste do Brasil (BNB)
Veja lista atualizada em:
http://www.jrimum.org/bopepo/wiki/Componente/BancosSuportados
Se precisar de ajuda e tiver dúvidas, chega lá no grupo que o pessoal te ajuda.
Mais informações sobre o andamento do Projeto Bopepo … vc pode ver no Timeline.[/quote]
Estou usando o bopepo e estou passando pelo seguinte problema:
[code] ContaBancaria contaBancaria = new ContaBancaria(BancosSuportados.BANCO_BRADESCO.create()); //o “BancosSuportados” não esta reconhecendo,fica grifado de vermelho
contaBancaria.setNumeroDaConta(new NumeroDaConta(123456, “0”));
contaBancaria.setCarteira(new Carteira(30));
contaBancaria.setAgencia(new Agencia(1234, “1”));//Agencia também
Titulo titulo = new Titulo(contaBancaria, sacado, cedente, sacadorAvalista);
titulo.setNumeroDoDocumento("123456");
titulo.setNossoNumero("99345678912");
titulo.setDigitoDoNossoNumero("5");
titulo.setValor(BigDecimal.valueOf(0.23));
titulo.setDataDoDocumento(new Date());
titulo.setDataDoVencimento(new Date());
titulo.setTipoDeDocumento(TipoDeTitulo.DM_DUPLICATA_MERCANTIL);
titulo.setAceite(EnumAceite.A);
titulo.setDesconto(new BigDecimal(0.05));
titulo.setDeducao(BigDecimal.ZERO);//Deducao também
titulo.setMora(BigDecimal.ZERO);//Mora também
titulo.setAcrecimo(BigDecimal.ZERO);//Acrecimo também
titulo.setValorCobrado(BigDecimal.ZERO);//ValorCobrado também[/code]
Acho que você esqueceu de citar o problema. Diz aí, o que tá havendo?
Ele não esta reconhecendo esses campos que eu comentei
Luciano, qual é a versão que vc está usando?
Deve ser só a versão que não é igual a do exemplo que vc pegou.
Estou usando o Bopepo 0.3
É Luciano,
Então, o recomendado é vc utilizar o ultimo snapshot da 0.2.x
http://code.google.com/p/jrimum/downloads/detail?name=JRimum-Bopepo-SNAPSHOT-20110415-bin.jar
Ou baixar diretamente do maven como o indicado na página de downloads:
http://www.jrimum.org/jrimum/wiki/Projeto/Download
A versão 0.2.x é a que acumula todas as melhorias e ajustes até o presente momento.
Agora a versão mais atual de todas, se vc não usa maven, vc encontra em:
http://jrimum.org/maven/index.html#nexus-search;quick~bopepo
O jar para baixar.
A classe é BancoSuportado e não BancosSuportados.
[code] ContaBancaria contaBancaria = new ContaBancaria(BancosSuportados.BANCO_BRADESCO.create()); //o “BancosSuportados” não esta reconhecendo,fica grifado de vermelho
contaBancaria.setNumeroDaConta(new NumeroDaConta(123456, “0”));
contaBancaria.setCarteira(new Carteira(30));
contaBancaria.setAgencia(new Agencia(1234, “1”));//Agencia também
Titulo titulo = new Titulo(contaBancaria, sacado, cedente, sacadorAvalista);
titulo.setNumeroDoDocumento("123456");
titulo.setNossoNumero("99345678912");
titulo.setDigitoDoNossoNumero("5");
titulo.setValor(BigDecimal.valueOf(0.23));
titulo.setDataDoDocumento(new Date());
titulo.setDataDoVencimento(new Date());
titulo.setTipoDeDocumento(TipoDeTitulo.DM_DUPLICATA_MERCANTIL);
titulo.setAceite(EnumAceite.A);
titulo.setDesconto(new BigDecimal(0.05));
titulo.setDeducao(BigDecimal.ZERO);//Deducao também
titulo.setMora(BigDecimal.ZERO);//Mora também
titulo.setAcrecimo(BigDecimal.ZERO);//Acrecimo também
titulo.setValorCobrado(BigDecimal.ZERO);//ValorCobrado também[/code]
E os outros campos?Mudaram os nomes?Ja adicionei várias libs e o problema continua
Luciano,
Se vc baixar a versão mais indicada na seção de downloads:
http://code.google.com/p/jrimum/downloads/detail?name=JRimum-Bopepo-SNAPSHOT-20110415-bin.jar
E executar o exemplo de geração padrão do site:
http://www.jrimum.org/bopepo/wiki/Componente/Documentacao/Tutoriais/GeracaoDeBoletoPadrao
Não vai ter problemas a não ser que vc não satisfaça as dependências:
- Java 1.5 ou superior;
- iText ( versão compilada: 2.0.8 ) ( versões já testadas 2.0.6 até 2.1.7 ) ;
- Apache Commons Lang ( 2.4 ) ;
- Apache log4j ( 1.2.15 ).
Se vc fizer isso e ainda sim der erro, então posta aqui o erro.
Quando eu compilo da esse erro:
Exception in thread "main" br.com.nordestefomento.jrimum.bopepo.campolivre.CampoLivreException: java.lang.NullPointerException
at br.com.nordestefomento.jrimum.bopepo.campolivre.AbstractCampoLivre.create(AbstractCampoLivre.java:210)
at br.com.nordestefomento.jrimum.bopepo.campolivre.CampoLivreFactory.create(CampoLivreFactory.java:85)
at br.com.nordestefomento.jrimum.bopepo.Boleto.<init>(Boleto.java:159)
at model.NewClass.main(NewClass.java:115)
Caused by: java.lang.NullPointerException
at br.com.nordestefomento.jrimum.bopepo.campolivre.CLBradesco.<init>(CLBradesco.java:119)
at br.com.nordestefomento.jrimum.bopepo.campolivre.AbstractCLBradesco.create(AbstractCLBradesco.java:65)
at br.com.nordestefomento.jrimum.bopepo.campolivre.AbstractCampoLivre.create(AbstractCampoLivre.java:130)
... 3 more
Java Result: 1
O código esta assim:
[code] Cedente cedente = new Cedente(“PROJETO JRimum”, “00.000.208/0001-00”);
/*
* INFORMANDO DADOS SOBRE O SACADO.
*/
Sacado sacado = new Sacado("JavaDeveloper Pronto Para Férias", "222.222.222-22");
// Informando o endereço do sacado.
Endereco enderecoSac = new Endereco();
enderecoSac.setUF(UnidadeFederativa.RN);
enderecoSac.setLocalidade("Natal");
enderecoSac.setCep(new CEP("59064-120"));
enderecoSac.setBairro("Grande Centro");
enderecoSac.setLogradouro("Rua poeta dos programas");
enderecoSac.setNumero("1");
sacado.addEndereco(enderecoSac);
/*
* INFORMANDO DADOS SOBRE O SACADOR AVALISTA.
*/
SacadorAvalista sacadorAvalista = new SacadorAvalista("JRimum Enterprise", "00.000.000/0001-91");
// Informando o endereço do sacador avalista.
Endereco enderecoSacAval = new Endereco();
enderecoSacAval.setUF(UnidadeFederativa.DF);
enderecoSacAval.setLocalidade("Brasília");
enderecoSacAval.setCep(new CEP("59000-000"));
enderecoSacAval.setBairro("Grande Centro");
enderecoSacAval.setLogradouro("Rua Eternamente Principal");
enderecoSacAval.setNumero("001");
sacadorAvalista.addEndereco(enderecoSacAval);
/*
* INFORMANDO OS DADOS SOBRE O TÍTULO.
*/
// Informando dados sobre a conta bancária do título.
ContaBancaria contaBancaria = new ContaBancaria(BancoSuportado.BANCO_BRADESCO.create());
contaBancaria.setNumeroDaConta(new NumeroDaConta(123456, "0"));
contaBancaria.setCarteira(new Carteira(30));
//contaBancaria.setAgencia(new Agencia(1234, "1"));
Titulo titulo = new Titulo(contaBancaria, sacado, cedente, sacadorAvalista);
titulo.setNumeroDoDocumento("123456");
titulo.setNossoNumero("99345678912");
titulo.setDigitoDoNossoNumero("5");
titulo.setValor(BigDecimal.valueOf(0.23));
titulo.setDataDoDocumento(new Date());
titulo.setDataDoVencimento(new Date());
titulo.setTipoDeDocumento(TipoDeTitulo.DM_DUPLICATA_MERCANTIL);
titulo.setAceite(EnumAceite.A);
titulo.setDesconto(new BigDecimal(0.05));
//titulo.setDeducao(BigDecimal.ZERO);
//titulo.setMora(BigDecimal.ZERO);
//titulo.setAcrecimo(BigDecimal.ZERO);
//titulo.setValorCobrado(BigDecimal.ZERO);
titulo.setValor(new BigDecimal(5.00));
titulo.setTipoDeDocumento(TipoDeTitulo.OUTROS);
/*
* INFORMANDO OS DADOS SOBRE O BOLETO.
*/
Boleto boleto = new Boleto(titulo);
boleto.setLocalPagamento("Pagável preferencialmente na Rede X ou em " +
"qualquer Banco até o Vencimento.");
boleto.setInstrucaoAoSacado("Senhor sacado, sabemos sim que o valor " +
"cobrado não é o esperado, aproveite o DESCONTÃO!");
boleto.setInstrucao1("PARA PAGAMENTO 1 até Hoje não cobrar nada!");
boleto.setInstrucao2("PARA PAGAMENTO 2 até Amanhã Não cobre!");
boleto.setInstrucao3("PARA PAGAMENTO 3 até Depois de amanhã, OK, não cobre.");
boleto.setInstrucao4("PARA PAGAMENTO 4 até 04/xx/xxxx de 4 dias atrás COBRAR O VALOR DE: R$ 01,00");
boleto.setInstrucao5("PARA PAGAMENTO 5 até 05/xx/xxxx COBRAR O VALOR DE: R$ 02,00");
boleto.setInstrucao6("PARA PAGAMENTO 6 até 06/xx/xxxx COBRAR O VALOR DE: R$ 03,00");
boleto.setInstrucao7("PARA PAGAMENTO 7 até xx/xx/xxxx COBRAR O VALOR QUE VOCÊ QUISER!");
boleto.setInstrucao8("APÓS o Vencimento, Pagável Somente na Rede X.");
/*
* GERANDO O BOLETO BANCÁRIO.
*/
// Instanciando um objeto "BoletoViewer", classe responsável pela
// geração do boleto bancário.
BoletoViewer boletoViewer = new BoletoViewer(boleto);
// Gerando o arquivo. No caso o arquivo mencionado será salvo na mesma
// pasta do projeto. Outros exemplos:
// WINDOWS: boletoViewer.getAsPDF("C:/Temp/MeuBoleto.pdf");
// LINUX: boletoViewer.getAsPDF("/home/temp/MeuBoleto.pdf");
File arquivoPdf = boletoViewer.getPdfAsFile("MeuPrimeiroBoleto.pdf");
// Mostrando o boleto gerado na tela.
mostreBoletoNaTela(arquivoPdf);[/code]
Pois é Luciano,
Vc tem que usar o jar:
http://code.google.com/p/jrimum/downloads/detail?name=JRimum-Bopepo-SNAPSHOT-20110415-bin.jar
Onde os pacotes começam com:
org.jrimum
Pelo erro vc ainda está tentando usar a versão 0.3.x
Agora sim, funcionou, limpei o projeto e deixei ai ele rodou ^^ Só que agora to passando por outro probleminha, vi no site como exibir o relatório no browser usando servlets, mas quero exibir usando beans, alguem ja fez isso?
Muito bom Luciano!!
Minha sugestão é que vc se inscreva no grupo:
https://groups.google.com/forum/?hl=pt#!forum/jrimum-community
Que muita gente lá utiliza swing e poderá te ajudar também. Poste essa dúvida lá.
Mas a abordagem do problema é basicamente: “como mostrar um pdf no swing”
Bom, isso se vc estiver falando de swing, quando vc diz beans.
Não estou usando swing não, minha aplicação é web, estou utilizando JSF+PrimeFaces
Luciano,
Agora nao vou poder colocar o exemplo. Nao estou mas no pc agora. De qualquer forma, pesquise lah no grupo q essa informação já tem lá.
To de saída… t+