Este exemplo embora use o layout visto nos demais exemplo ele é totalmente aberto, ou seja, todos os textos, são LABEL, ele é formado por TABLE
Desta forma você pode melhorar, e customizar o layour do boleto, aumentar campos, descrições etc...
Vale lembrar que o BANCO tem que aprovar seu layout, veja isso com seu gerente
Mas os calculos, e rotinas, você pode chama-las direto de acordo com sua necessidade, veja abaixo o código fonte também!

Parte Superior:
RECIBO DO SACADO

Faça aqui o que desejar
(layout livre)

356-5 35690.50168 70325.510009 00000.030205 9 14560000003500
Local de pagamento
 Até o vencimento, pagável em qualquer banco.
Vencimento
02/10/2001 
Cedente
 Impactro Informática
Agência/Conta Cedente
0501/6703255-1 
Data Documento
 18/12/2017
Nº Documento
 0000000003020
Esp. Doc.
 RC
Aceite
 N
Data Proces.
 18/12/2017
Nosso Número
0000000003020 
Uso do Banco
 
Carteira
Padrão
Espécie
 R$
Quantidade
 
(x)Valor
 
(=)Valor Documento
R$ 35,00 
Instruções
Todas as informações deste bloqueto são de exclusiva responsabilidade do cedente

Versão de demostração NÃO PAGUE
(-)Descontos/Abatim.
 
(-)Outras Deduções
 
(+)Mora/Multa
 
(+)Outros Acréscimos
 
(=)Valor
 
Sacador/Avalista
Fábio F RG: 123.456.789-X
Rua xyz, 123
Bras - SP - CEP 12345-123
Autenticação Mecânica - FICHA DE COMPENSAÇÃO

Código Fonte:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Este exemplo, é um layoout, e calculo livre, 100% customizado, que não utiliza a Impactro.Cobranca.DLL
        'Mas este exemplo utiliza as classes de funções em C# da pasta APP_CODE, 
        'que tem todas as funçõe nescessárias para a geração do boleto

        'Baseado no exemplo do documento (página 11) http://www.boletoasp.com.br/doc/Real_COBRANCA_240_POSICOES_REAL_v2.pdf

        'Variáveis principais para o calculo
        Dim cAgenciaNumero As String = "501"            'Número da Agencia do Cedente
        Dim cContaNumero As String = "6703255"          'Número da Conta do Cedente
        Dim cNossoNumero As String = "3020"             'Número principal do boleto a ser gerado
        Dim nValor As Double = 35.0                     'Valor do boleto
        Dim dtVenc As DateTime = CDate("2/10/2001")    'Data de vencimento




        '1ª) parte ======================================
        '	04. LEIAUTE DO CÓDIGO DE BARRAS PADRÃO (vale para qualquer banco)
        '...............................................................    
        '   N.    POSIÇÕES     PICTURE     USAGE        CONTEÚO                
        '...............................................................    
        '    01    001 a 003    9/003/      Display      Identificação do banco
        '    02    004 a 004    9/001/      Display      9 /Real/
        '(a) 03    005 a 005    9/001/      Display      DV /*/
        '(b) 04    006 a 009    9/004/      Display      fator de vencimento
        '    05    010 a 019    9/008/v99   Display      Valor
        '    06    020 a 044    9/025/      Display      CAMPO LIVRE
        '...............................................................    
        'OBS: 1 - o digito verificador da 5 (quinta) posição é calculado     
        '         com base no módulo 11 específico previsto no item 12;         
        'OBS: 2 - o fator de vencimento é calculado com base na metodologia 
        '         descrita no item 05.                                          

        Dim cValor As String = CInt(nValor * 100)               'Multiplicando por 100 a centenas somem, e elimina-se o ponto decimal (cuidado com arredondamentos)
        Dim nFatVenc As Integer = Funcoes.CalcFatVenc(dtVenc)   'calcula o fator do vencimento
        'Concatena-se o Numero do banco (3 digitos), o código da moeda ('9' Real), o Fator de vencimento e o Valor
        Dim cCodePadrao As String = _
            "356" & _
            "9" & _
            Right("000" & nFatVenc, 4) & _
            Right("0000000000" & cValor, 10)




        '2ª) parte ======================================
        'Monta o campo livre que varia de acordo com o banco, neste caso o banco Real

        'Fixa os tamanhos das variáveis
        cNossoNumero = Right("000000000000" & cNossoNumero, 13)
        cAgenciaNumero = Right("000" & cAgenciaNumero, 4)
        cContaNumero = Right("000000" & cContaNumero, 7)

        'Calcula o Digito de controle
        Dim cDAC As String = Funcoes.Modulo10(cNossoNumero + cAgenciaNumero + cContaNumero)

        'Finaliza o campo livre
        Dim cLivre As String = cAgenciaNumero & cContaNumero & cDAC & cNossoNumero





        '3ª) parte ======================================
        'Finaliza o código de barras inserindo o digito de controle final
        Dim cDV As String = Funcoes.Modulo11Padrao(cCodePadrao & cLivre, 9)
        Dim cCodBarras As String = cCodePadrao.Substring(0, 4) & cDV & cCodePadrao.Substring(4, 14) & cLivre

        'com o código de barras, monta-se a linha digitável
        Dim cIPTE As String = Funcoes.CalcLinDigitavel(cCodBarras)

        'Transforma-se a sequencia numerica em uma string que representa o código de barras
        Dim cBarras As String = Funcoes.BarCode(cCodBarras)
        'substiue-se as duplas de caracteres que representam as barras por suas respectivas imagens
        cBarras = cBarras.Replace("bf", "")
        cBarras = cBarras.Replace("bl", "")
        cBarras = cBarras.Replace("pf", "")
        cBarras = cBarras.Replace("pl", "")






        '4ª) parte ======================================
        'Daqui para baixo é só atribuir os valores calculados aos controles na página
        lblAgenciaConta.Text = cAgenciaNumero & "/" & cContaNumero & "-" & cDAC
        lblData.Text = Now.ToShortDateString()
        lblDataDoc.Text = Now.ToShortDateString()
        lblValorDocumento.Text = String.Format("{0:C}", nValor)
        lblVencimento.Text = dtVenc.ToShortDateString()
        lblNumDoc.Text = cNossoNumero
        lblNossoNumero.Text = cNossoNumero
        lblSacado.Text = "Fábio F RG: 123.456.789-X
Rua xyz, 123
Bras - SP - CEP 12345-123" lblIPTE.Text = cIPTE lblcodBar.Text = cBarras
Conheça outros exemplos:
Este exemplo vem com o código fonte ao adquirir o componente de geração de boletos.


Veja também:
Gateway Cielo para pagamento com cartões de credito, via WebServices da Cielo
Arquivo de Remessa, e Tratamento de Retorno - Layout para ITAU-CNB400 e BRADESCO-CNAB240
Geração de Lote de RPS para NF-e SP - Versão 1.0 da nota Fiscal de Serviços para São Paulo/SP
ASP Classico Versão antiga em ASP3

Conheça nosso site http://www.boletoasp.com.br

Adquira todos esses exemplos


Clique aqui para comprar ou tirar suas dúvidas