Irei repassar a experiência que tive em gerar boletos bancários através de um componente free Boleto.net, onde é feita a geração da imagem do boleto e seu receptivo código de barras. Descrição do componente: Boleto.Net é um componente desenvolvido em C# e ASP.Net e contempla as seguintes funcionalidades: - Primeiramente baixe a DLL do componete no site http://boletonet.codeplex.com/ esta na versão 2.0, crie um projeto novo e faça referência a essa DLL, conforme a figura 1. Figura 1: Cria um novo WebForm ou poder ser no seu Default.aspx mesmo e coloque dois paineis, um chamado pnl_dados e o outrologo 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 figura 2.
Crie também um button, "Visualizar Boleto" e coloque esse 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.
Shalom Adonai
Paulo Freire