public BlocoIdentificacaoEmitente(DanfeViewModel viewModel, Estilo estilo) : base(viewModel, estilo)
        {
            var textoConsulta = new TextoSimples(Estilo, Strings.TextoConsulta)
            {
                Height = 8,
                AlinhamentoHorizontal = AlinhamentoHorizontal.Centro,
                AlinhamentoVertical   = AlinhamentoVertical.Centro,
                TamanhoFonte          = 9
            };

            var campoChaveAcesso = new Campo("Chave de Acesso", Formatador.FormatarChaveAcesso(ViewModel.ChaveAcesso), estilo, AlinhamentoHorizontal.Centro)
            {
                Height = Constantes.CampoAltura
            };
            var codigoBarras = new Barcode128C(viewModel.ChaveAcesso, Estilo)
            {
                Height = AlturaLinha1 - textoConsulta.Height - campoChaveAcesso.Height
            };

            var coluna3 = new VerticalStack();

            coluna3.Add(codigoBarras, campoChaveAcesso, textoConsulta);

            ifdNfe     = new NumeroNfSerie2(estilo, ViewModel);
            idEmitente = new IdentificacaoEmitente(Estilo, ViewModel);

            FlexibleLine fl = new FlexibleLine()
            {
                Height = coluna3.Height
            }
            .ComElemento(idEmitente)
            .ComElemento(ifdNfe)
            .ComElemento(coluna3)
            .ComLarguras(0, 15, 46.5F);

            MainVerticalStack.Add(fl);

            AdicionarLinhaCampos()
            .ComCampo("Natureza da operação", ViewModel.NaturezaOperacao)
            .ComCampo("Protocolo de autorização", ViewModel.ProtocoloAutorizacao, AlinhamentoHorizontal.Centro)
            .ComLarguras(0, 46.5F);

            AdicionarLinhaCampos()
            .ComCampo("Inscrição Estadual", ViewModel.Emitente.Ie, AlinhamentoHorizontal.Centro)
            .ComCampo("Inscrição Estadual do Subst. Tributário", ViewModel.Emitente.IeSt, AlinhamentoHorizontal.Centro)
            .ComCampo("Cnpj", Formatador.FormatarCnpj(ViewModel.Emitente.CnpjCpf), AlinhamentoHorizontal.Centro)
            .ComLargurasIguais();
        }
        public BlocoEventoIdentificacao(DanfeEventoViewModel viewModel, Estilo estilo) : base(viewModel, estilo)
        {
            #region Propriedades

            var chaveAcesso = DanfeHelper.FormatarChaveAcesso(viewModel.ChaveAcesso);
            var modelo      = viewModel.ChaveAcesso.Substring(20, 2);
            var serie       = viewModel.ChaveAcesso.Substring(22, 3);
            var numero      = DanfeHelper.FormatarNumeroNF(viewModel.ChaveAcesso.Substring(25, 9));
            var ano         = viewModel.ChaveAcesso.Substring(2, 2);
            var mes         = viewModel.ChaveAcesso.Substring(4, 2);

            #endregion

            var codigoBarras = new Barcode128C(viewModel.ChaveAcesso, Estilo)
            {
                Height = AlturaCodigo
            };

            var coluna = new VerticalStack();
            var linha1 = new LinhaCampos(estilo)
            {
                Height = AlturaLinhaCampo
            }
            .ComCampo("MODELO", modelo)
            .ComCampo("SÉRIE", serie)
            .ComCampo("NÚMERO", numero)
            .ComCampo("MÊS / ANO DA EMISSÃO", $"{mes} / {ano}")
            .ComLargurasIguais();

            var linha2 = new Campo("CHAVE DE ACESSO", chaveAcesso, estilo)
            {
                Height = AlturaLinhaCampo
            };

            coluna.Add(linha1, linha2);

            var fl = new FlexibleLine {
                Height = codigoBarras.Height
            }
            .ComElemento(coluna)
            .ComElemento(codigoBarras)
            .ComLargurasIguais();

            MainVerticalStack.Add(fl);
        }