Boleto.Net é um componente desenvolvido em C# e ASP.NET e contempla as seguintes funcionalidades:

  • Emissão e Impressão de Boletos Bancários
  • Geração de Arquivo de Remessa (CNAB 240 e 400)
  • Leitura do Arquivo de Retorno (CNAB 240 e 400)

Primeiramente baixe a DLL do componete no site http://boletonet.codeplex.com/, que está na versão 2.0 e crie um projeto novo com referência a essa DLL, conforme mostra a Figura 1.

Figura 1
Figura 1. Novo Projeto

Crie um novo WebForm ou poder ser no seu Default.aspx mesmo e coloque dois paineis, um chamado pnl_dados e o outro logo abaixo, chamado pnl_boleto.

Dentro do painel pnl_dados coloque alguns Edits como txtSacado, txtVencimento, txtEndereco, txtBairro, txtCidade, txtCEP, txtUF e txtValor e suas labels, conforme a Figura 2.

Figura 2
Figura 2. Inserção de edits

Agora crie também um button, "Visualizar Boleto" e coloque o código abaixo:

using BoletoNet;     //referência ao componente Boleto.Net

protected void Button1_Click(object sender, EventArgs e)
    {
        
        string vencimento = txtVencimento.Text;
        String valorBoleto = txtValor.Text;
        String numeroDocumento = "B20005446";

        //cedente
        String cedente_codigo = "1111111";
        String cedente_nossoNumeroBoleto = "22222222";
        String cedente_cpfCnpj = "123.456.789-01";
        String cedente_nome = "PAULO FREIRE - FOUR FREIRES INF.";
        String cedente_agencia = "1000";
        String cedente_conta = "22507";
        String cedente_digitoConta = "6";

        //sacado
        String sacado_cpfCnpj = "000.000.000-00";
        String sacado_nome = txtSacado.Text;
        String sacado_endereco = txtEndereco.Text;
        String sacado_bairro = txtBairro.Text;
        String sacado_cidade = txtCidade.Text;
        String sacado_cep = txtCEP.Text;
        String sacado_uf = txtUF.Text;

        Cedente cedente = new Cedente(cedente_cpfCnpj,
        cedente_nome,
        cedente_agencia,
        cedente_conta,
        cedente_digitoConta);
        cedente.Codigo = Convert.ToInt32(cedente_codigo);

        Boleto boleto = new Boleto(Convert.ToDateTime(vencimento),
      	 	Convert.ToDouble(valorBoleto),
      	 	"109",
      	 	cedente_nossoNumeroBoleto, cedente);
        boleto.NumeroDocumento = numeroDocumento;

        Sacado sacado = new Sacado(sacado_cpfCnpj, sacado_nome);
        boleto.Sacado = sacado;
        boleto.Sacado.Endereco.End = sacado_endereco;
        boleto.Sacado.Endereco.Bairro = sacado_bairro;
        boleto.Sacado.Endereco.Cidade = sacado_cidade;
        boleto.Sacado.Endereco.CEP = sacado_cep;
        boleto.Sacado.Endereco.UF = sacado_uf;

        Instrucao_Itau instrucao = new Instrucao_Itau();
        instrucao.Descricao = "Não Receber após o vencimento";

        boleto.Instrucoes.Add(instrucao);
        EspecieDocumento_Itau especie = new EspecieDocumento_Itau(99);
        boleto.EspecieDocumento = especie;

        BoletoBancario boleto_bancario = new BoletoBancario();
        boleto_bancario.CodigoBanco = 341;
        boleto_bancario.Boleto = boleto;
        boleto_bancario.MostrarCodigoCarteira = true;
        boleto_bancario.Boleto.Valida();

        boleto_bancario.MostrarComprovanteEntrega = true;


        pnl_dados.Visible = false;

        pnl_boleto.Controls.Add(boleto_bancario);
   
    }

Nesse exemplo gero uma imagem do boleto Itaú, todavia existem outros bancos para se trabalhar com esse componente.