Stella Boleto - Boleto gera mas não está correto

O 2º dígito do 4º bloco de digitação (590642) está errado, onde deveria haver o número 6 (560645) temos o número 9, também ocorrera, erros nos blocos seguintes devido a este erro.
Acho que o problema está no calculo do dac do cód do documento, que é 795 e deveria ter o dac 6 mas está 9 (comparar o campo “Nosso número/cód. Doc”).
O documento gerado pelo Stella é o “Itau.pdf”, o “document2011…pdf” é o boleto gerado pelo Itaú.
Importante : tentamos colocar o dac no campo “Cód. Documento” de diversas formas mas não conseguimos, em uma das tentativas ao digitar “789-6” o Stella fez uma subtração e imprimiu “789”.
Pergunta, como fazemos para imprimir o dac do “Núm do doc” ?

[code]package br.com.eeiav.controleescolar;

import javax.swing.JOptionPane;

import br.com.caelum.stella.boleto.Banco;
import br.com.caelum.stella.boleto.Boleto;
import br.com.caelum.stella.boleto.Datas;
import br.com.caelum.stella.boleto.Emissor;
import br.com.caelum.stella.boleto.Sacado;
import br.com.caelum.stella.boleto.bancos.Itau;
import br.com.caelum.stella.boleto.transformer.BoletoGenerator;

public class Teste {
static Boleto[] boletos = new Boleto[1];

public static void main(String[] args) {
	for (int i = 0; i < 1; i++) {
		Datas datas = Datas.newDatas().withDocumento(18, 6, 2009)
				.withProcessamento(28, 4, 2011).withVencimento(20, 8, 2009);
		Emissor emissor = Emissor.newEmissor().withCedente("Escola de Educação Infantil Arte de Viver LTDA ME")
				.withAgencia(648)/*.withDvAgencia('8')*/.withContaCorrente(
						47386)/*.withNumConvenio(1207113)*/
				.withDvContaCorrente('6').withCarteira(175).withNossoNumero(795).withDvNossoNumero('6');
		Sacado sacado = Sacado.newSacado().withNome("Fulano da Silva")
				.withCpf("286.174.308-50").withEndereco(
						"Av dos testes, 111 apto 333").withBairro(
						"Bairro Teste").withCep("01234-111").withCidade(
						"São Paulo").withUf("SP");
		Banco banco = new Itau();
		Boleto boleto = Boleto.newBoleto().withBanco(banco)
				.withDatas(datas).withDescricoes("",
						"", "", "",
						"").withEmissor(emissor).withSacado(
						sacado).withValorBoleto("320.00").withNoDocumento(
						"795").withInstrucoes("Após o Vencimento cobrar R$ xx,xx por dia de atraso.",
						"Após o Vencimento cobrar Multa de R$ yy,yy.", "Ate 02/05/2011 conceder deconto de R$ 32,00", "","Aluno: Xxxx da Silva")
						.withLocaisDePagamento("Ate o vencimento, preferencialmente no Itaú",
						"Apos o vencimento, somente no  Itaú").withNoDocumento("795");
		boletos[i] = boleto;
	}
	BoletoGenerator gerador = new BoletoGenerator(boletos);
	// Para gerar um boleto em PDF
	gerador.toPDF("c:/Itau.pdf");
	// Para gerar um boleto em PNG
	// gerador.toPNG("c:/Itau.png");
	// Para gerar um array de bytes a partir de um PDF
	@SuppressWarnings("unused")
	byte[] bPDF = gerador.toPDF();
	// Para gerar um array de bytes a partir de um PNG
	// @SuppressWarnings("unused")
	// byte[] bPNG = gerador.toPNG();
	
	JOptionPane.showMessageDialog(null, "Arquivo: Itau.pdf gerado em C:");
	
}

}[/code]

André, sugiro você usar o Bopepo. O pessoal já usou o seu caso e tá funcionando.

Aqui você vai encontrar as novidades o link pra baixar a versão mais nova.

Valeu.

Quer dizer que mais pessoas já passaram por isso também, é?

Abraços,

[quote=Romulinho]André, sugiro você usar o Bopepo. O pessoal já usou o seu caso e tá funcionando.

Aqui você vai encontrar as novidades o link pra baixar a versão mais nova.

Valeu.[/quote]

Pode me mandar um código pronto (servir de base) para eu gerar boleto para o Itaú?

Tentei, mas veja como saiu minha tentativa frustratada rs:

[code]import org.jrimum.domkee.financeiro.banco.febraban.Agencia;
import org.jrimum.domkee.financeiro.banco.febraban.Carteira;
import org.jrimum.domkee.financeiro.banco.febraban.ContaBancaria;
import org.jrimum.domkee.financeiro.banco.febraban.NumeroDaConta;
import org.jrimum.domkee.financeiro.banco.febraban.Titulo;

public class BoletoBradescoExemplo {

public static void main(String[] args) {

	Titulo titulo = new Titulo(null, null, null);

	/*
	 * Campos específicos para o Banco Bradesco.
	 */

	ContaBancaria contaBancaria = titulo.getContaBancaria();

	/*
	 * Banco bradesco 237
	 */
	//contaBancaria.setBanco(BancosSuportados.BANCO_BRADESCO.create());

	/*
	 * Agência com no máximo 4 dígitos
	 */
	contaBancaria.setAgencia(new Agencia(1234, null)); // Digito da agencia

	/*
	 * Carteira com no máximo 2 dígitos
	 */
	contaBancaria.setCarteira(new Carteira(12));

	/*
	 * Nosso número com 11 dígitos
	 */
	titulo.setNossoNumero("01234567891");
	//titulo.setDigitoDoNossoNumero("4");
	/*
	 * Número da conta com no máxiom 7 dígitos
	 */
	contaBancaria.setNumeroDaConta(new NumeroDaConta(1234567));

	//Boleto boleto = Exemplos.crieBoleto(titulo);

	//Exemplos.execute(boleto);
}

}[/code]