Beispiel #1
0
        public void Executar(Pagina pagina, ResultadoReconhecimento resultadoReconhecimento)
        {
            if (resultadoReconhecimento == null)
            {
                return;
            }

            var valoresReconhecidos = this.obtemValoresReconhecidosPaginaServico.Obter(
                pagina,
                resultadoReconhecimento);

            foreach (var valorReconhecido in valoresReconhecidos)
            {
                this.valorReconhecidoRepositorio.Salvar(valorReconhecido);
            }

            var tripaTexto = string.Empty;

            foreach (var palavra in resultadoReconhecimento.Palavras)
            {
                var palavraReconhecida = new PalavraReconhecida
                {
                    Texto    = palavra.Texto,
                    Altura   = palavra.Localizacao.Height,
                    Direita  = palavra.Localizacao.Right,
                    Esquerda = palavra.Localizacao.Left,
                    Largura  = palavra.Localizacao.Width,
                    Topo     = palavra.Localizacao.Top,
                    Pagina   = pagina
                };

                this.palavraRepositorio.Salvar(palavraReconhecida);
                tripaTexto += palavra.Texto + " ";
            }

            //// gravando parte das palavras reconhecidas na recvalue também, para facilitar comparações na POC.
            if (tripaTexto.Trim().Length > 2)
            {
                if (tripaTexto.Length > 200)
                {
                    tripaTexto = tripaTexto.Substring(0, 199) + "(...)";
                }

                var recValueFull = new ValorReconhecido()
                {
                    TemplateName = "fulltextbsb", CampoTemplate = "fulltextbsb", Pagina = pagina, Value = tripaTexto
                };
                this.valorReconhecidoRepositorio.Salvar(recValueFull);
            }
        }
        private IList <PalavraReconhecida> AdicionarPalavras(Pagina pagina, IList <dynamic> regioesTexto)
        {
            var palavrasReconhecidas = new List <PalavraReconhecida>();

            foreach (var dynamic in regioesTexto)
            {
                var palavraAtual = new PalavraReconhecida
                {
                    Texto    = dynamic.Texto,
                    Altura   = dynamic.Localizacao.Height,
                    Direita  = dynamic.Localizacao.Right,
                    Esquerda = dynamic.Localizacao.Left,
                    Largura  = dynamic.Localizacao.Width,
                    Topo     = dynamic.Localizacao.Top,
                    Pagina   = pagina
                };

                palavrasReconhecidas.Add(palavraAtual);
            }

            return(palavrasReconhecidas);
        }