internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo termo = new Termo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo         = dados.Titulo;
                termo.Protocolo      = dados.Protocolo;
                termo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                TermoAprovacaoMedicao termoApvMed = Obter(titulo, bancoDeDados);
                termo.DataMedicaoDia      = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("dd");
                termo.DataMedicaoMesTexto = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("MMMM");
                termo.DataMedicaoAno      = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("yyyy");
                termo.Destinatario        = DaEsp.ObterDadosPessoa(termoApvMed.Destinatario, termo.Empreendimento.Id, bancoDeDados);

                if (termoApvMed.TipoResponsavel == 1)
                {
                    termo.Funcionario = DaEsp.ObterDadosFuncionario(termoApvMed.Funcionario.Value, bancoDeDados);
                    termo.Responsavel = null;
                }
                else if (termoApvMed.TipoResponsavel == 2)
                {
                    termo.Responsavel = DaEsp.ObterDadosResponsavel(termoApvMed.ResponsavelMedicao.Value, termo.Protocolo.Id.Value, bancoDeDados);
                    termo.Funcionario = null;
                }

                #endregion
            }

            return(termo);
        }