public HeaderRetornoCnab240 ObterHeader(string linha)
        {
            var objRetornar = new HeaderRetornoCnab240
            {
                CodigoBanco = linha.ExtrairValorDaLinha(1, 3).BoletoBrToInt(),
                LoteServico = linha.ExtrairValorDaLinha(4, 7),
                CodigoRegistro = linha.ExtrairValorDaLinha(8, 8).BoletoBrToInt(),
                TipoInscricaoEmpresa = linha.ExtrairValorDaLinha(18, 18).BoletoBrToInt(),
                NumeroInscricaoEmpresa = linha.ExtrairValorDaLinha(19, 32),
                Convenio = linha.ExtrairValorDaLinha(33, 52),
                CodigoAgencia = linha.ExtrairValorDaLinha(53, 57).BoletoBrToInt(),
                DvCodigoAgencia = linha.ExtrairValorDaLinha(58, 58),
                ContaCorrente = linha.ExtrairValorDaLinha(59, 70),
                DvContaCorrente = linha.ExtrairValorDaLinha(71, 71),
                DvAgenciaConta = linha.ExtrairValorDaLinha(72, 72),
                NomeDoBeneficiario = linha.ExtrairValorDaLinha(73, 102),
                NomeDoBanco = linha.ExtrairValorDaLinha(103, 132),
                CodigoRemessaRetorno = linha.ExtrairValorDaLinha(143, 143).BoletoBrToInt(),
                DataGeracaoGravacao = Convert.ToDateTime(linha.ExtrairValorDaLinha(144, 151).ToDateTimeFromDdMmAa()),
                HoraGeracaoGravacao = linha.ExtrairValorDaLinha(152, 157).BoletoBrToInt(),
                NumeroSequencial = linha.ExtrairValorDaLinha(158, 163).BoletoBrToInt(),
                VersaoLayout = linha.ExtrairValorDaLinha(164, 166),
                Densidade = linha.ExtrairValorDaLinha(167, 171),
                UsoBanco = linha.ExtrairValorDaLinha(172, 191),
                UsoEmpresa = linha.ExtrairValorDaLinha(192, 211)
            };

            return objRetornar;
        }
        public HeaderRetornoCnab240 ObterHeader(string linhaObterInformacoes)
        {
            var objRetornar = new HeaderRetornoCnab240();

            var linha = linhaObterInformacoes;

            objRetornar.CodigoBanco = linha.ExtrairValorDaLinha(1, 3).BoletoBrToInt();
            objRetornar.LoteServico = linha.ExtrairValorDaLinha(4, 7);
            objRetornar.CodigoRegistro = linha.ExtrairValorDaLinha(8, 8).BoletoBrToInt();
            objRetornar.TipoInscricaoEmpresa = linha.ExtrairValorDaLinha(18, 18).BoletoBrToInt();
            objRetornar.NumeroInscricaoEmpresa = linha.ExtrairValorDaLinha(19, 32);
            objRetornar.CodigoAgencia = linha.ExtrairValorDaLinha(53, 57).BoletoBrToInt();
            objRetornar.DvCodigoAgencia = linha.ExtrairValorDaLinha(58, 58);
            // Uso Exclusivo CAIXA (37 - 46)
            objRetornar.CodigoCedente = linha.ExtrairValorDaLinha(59, 64).BoletoBrToInt();
            objRetornar.NomeDoBeneficiario = linha.ExtrairValorDaLinha(73, 102);
            objRetornar.NomeDoBanco = linha.ExtrairValorDaLinha(103, 132);
            objRetornar.CodigoRemessaRetorno = Convert.ToInt32(linha.ExtrairValorDaLinha(143, 143));
            objRetornar.DataGeracaoGravacao = linha.ExtrairValorDaLinha(144, 151).ToDateTimeFromDdMmAaaa();
            // Uso Exclusivo CAIXA (159 - 389)
            objRetornar.HoraGeracaoGravacao = linha.ExtrairValorDaLinha(152, 157).BoletoBrToInt();
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(158, 163).BoletoBrToInt();
            objRetornar.VersaoLayout = linha.ExtrairValorDaLinha(164, 166);
            objRetornar.Densidade = linha.ExtrairValorDaLinha(167, 171);
            objRetornar.UsoBanco = linha.ExtrairValorDaLinha(172, 191);
            objRetornar.UsoEmpresa = linha.ExtrairValorDaLinha(192, 211);
            objRetornar.VersaoAplicativo = linha.ExtrairValorDaLinha(212, 215);

            return objRetornar;
        }
        public HeaderRetornoCnab240 ObterHeader(string linha)
        {
            var objRetornar = new HeaderRetornoCnab240
            {
                CodigoBanco = linha.ExtrairValorDaLinha(1, 3).BoletoBrToInt(),
                LoteServico = linha.ExtrairValorDaLinha(4, 7),
                CodigoRegistro = linha.ExtrairValorDaLinha(8, 8).BoletoBrToInt(),
                TipoInscricaoEmpresa = linha.ExtrairValorDaLinha(18, 18).BoletoBrToInt(),
                NumeroInscricaoEmpresa = linha.ExtrairValorDaLinha(19, 32),
                Convenio = linha.ExtrairValorDaLinha(33, 52),
                ConvenioNumeroCobranca = linha.ExtrairValorDaLinha(33, 41),
                CedenteCobranca = linha.ExtrairValorDaLinha(42, 45).BoletoBrToInt(),
                CarteiraCobranca = linha.ExtrairValorDaLinha(46, 47).BoletoBrToInt(),
                VariacaoCarteiraCobranca = linha.ExtrairValorDaLinha(48, 50).BoletoBrToInt(),
                CodigoAgencia = linha.ExtrairValorDaLinha(53, 57).BoletoBrToInt(),
                DvAgenciaConta = linha.ExtrairValorDaLinha(58, 58),
                ContaCorrente = linha.ExtrairValorDaLinha(59, 70),
                DvContaCorrente = linha.ExtrairValorDaLinha(71, 71)
            };

            // Dados convênio (33 - 52)
            // ...
            objRetornar.DvAgenciaConta = linha.ExtrairValorDaLinha(72, 72);
            objRetornar.NomeDoBeneficiario = linha.ExtrairValorDaLinha(73, 102);
            objRetornar.NomeDoBanco = linha.ExtrairValorDaLinha(103, 132);
            objRetornar.CodigoRemessaRetorno = linha.ExtrairValorDaLinha(143, 143).BoletoBrToInt();
            objRetornar.DataGeracaoGravacao = Convert.ToDateTime(linha.ExtrairValorDaLinha(144, 151).ToDateTimeFromDdMmAa());
            objRetornar.HoraGeracaoGravacao = linha.ExtrairValorDaLinha(152, 157).BoletoBrToInt();
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(158, 163).BoletoBrToInt();
            objRetornar.VersaoLayout = linha.ExtrairValorDaLinha(164, 166);
            objRetornar.Densidade = linha.ExtrairValorDaLinha(167, 171);
            objRetornar.UsoBanco = linha.ExtrairValorDaLinha(172, 191);
            objRetornar.UsoEmpresa = linha.ExtrairValorDaLinha(192, 211);
            objRetornar.UsoFebraban = linha.ExtrairValorDaLinha(212, 240);

            return objRetornar;
        }