Senhores alguem ta usando o jBoleto da caixa ai ??
porque o codigo do banco fica 104-1 … onde na documentacao diz 104-0
o nosso numero quando coloco ele em 13 posicoes nao funciona da erro
java.lang.IllegalArgumentException: The text length must be even.
at com.lowagie.text.pdf.BarcodeInter25.getBarsInter25(Unknown Source)
at com.lowagie.text.pdf.BarcodeInter25.placeBarcode(Unknown Source)
at com.lowagie.text.pdf.Barcode.createTemplateWithBarcode(Unknown Source)
at org.jboleto.control.PDFGenerator.addBoleto(PDFGenerator.java:292)
at org.jboleto.JBoleto.addBoleto(JBoleto.java:119)
at br.com.serhint.beans.PrintBoleto.Gerar(PrintBoleto.java:103)
O decimo terceiro caracter do nosso número é um digito verificador.
pode ser que se você passar apenas 12 caracteres a classe deverá calcular o 13º para você.
Overkill essa semana tive a mesma duvida à respeito do código da caixa econômica, na documentação constar ser 104-0, a solução que encontrei foi baixar o source do jboleto-0.9.8 e editar a classe PDFGenerator.java na linha 173, não permitindo a obtenção do digito verificador pelo método e sim passando como string.
Assim é como é feito pelo jboleto:
cb.showText(banco.getNumero() + “-” + boleto.getDigitoCodigoBarras(banco.getNumero()));
Assim é como fiz:
cb.showText(banco.getNumero() + “-0” );