Texto
É possível dentro do NFS fazer leitura de imagens para obter os seus textos e para isso usamos o Rekognition da AWS que usa o OCR
Os dados seguem pelo seguinte caminho após tudo configurado:
- xMova envia um Apontamento com Foto que é salvo no NFS;
- O processamento de Imagem para Texto procura por todas as imagens que não foram processadas;
- Dentro do Processamento a Imagem é enviada para AWS Rekognition que faz o reconhecimento dos seus textos;
- AWS Rekognition retorna um array com todos textos encontrados que segue a ordem da orientação da imagem;
- Por fim o processo do NFS procura pelo chave/valor que corresponde a tabela de destino;
Importante
É importante dizer que é importante que a imagem esteja em pé, o que queremos dizer é que ela deve estar de acordo com o que a gente le, por exemplo:
Se enviar a imagem deitada:
Pode ser que a leitura fique incorreta.
Configuração
Os passos de configuração devem ser na mesma ordem que apresentados nessa documentação.
Parâmetro
Adicionar na nfs_core_par_parametros o parâmetro:
RECOGNITION
com valor igual 1.
Sem ele não funciona.
EMPRESA | FILIAL | LOCAL | NOME | CONTEUDO | TIPO |
---|---|---|---|---|---|
4 | 9999 | 9999 | RECOGNITION | 1 | 1 |
Rodar o DS que vai criar uma nova coluna chamada nfs_conf_recognition.
Primeira configuração da nfs_conf_recognition
Para ser feita a primeira configuração do processamento das imagens obter seu texto é necessário preencher essa com os seguintes dado.
- TABELA: Nessa campo é necessário a tabela de destino, no caso onde vão ficar os textos reconhecidos;
- TABELA_FOTO: Nessa campo é necessário adicionar qual vai ser a tabela de onde vamos obter a foto;
Exemplo:
SEQ_DB | INS_DH | UPD_DH | TABELA | TABELA_FOTO | ENABLED |
---|---|---|---|---|---|
1 | 2025-02-25 17:31:39 | NULL | DADOS_PLAQUETAS | APONTAMENTO_FOTO_PLAQUETA | 1 |
Rodar o DS que vão ser criadas novas colunas tanto na TABELA_FOTO, onde vai ter colunas de controle do processamento, quanto na TABELA que vai ser criada uma FK para a TABELA_FOTO para termos o rastreamento dos dados;
Campos de Reconhecimento
O próximo passo é configurar na nfs_core_ds_tabela_campo a tabela que você configurou na coluna TABELA na nfs_conf_recognition.
Na ds tabela campo vamos no registro em que vai representar os dados da foto, na coluna config e vamos adicionar um json que vai dizer quais labels esse coluna representa:
{
"recognition": {
"labels": [
"Produto tipo",
"Tipo"
]
}
}
No caso do exemplo acima a minha coluna representa o Produto Tipo e Tipo, isso porque a mesma informação pode estar com labels diferentes com a mesma informação.
Exemplo:
TABELA_NOME | NOME | SEQ | SYS | SEND_XMOVA | GRID | GRID_MOBILE | DESCRICAO | DESCRICAO_RESUMIDA | TIPO | OBRIGATORIO | TAMANHO | TAMANHO_DECIMAL | MASCARA | INSERT_UPDATE | DISABLED | HINT | LINK | VALIDACAO | OPCOES | VALOR_DEFAULT | VALIDACAO_VIEW | FILTRO_VIEW | TOOLTIP_MESSAGE | PROPERTIES | CONFIG |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DADOS_PLAQUETAS | DATA_FABRICACAO | 3 | 0 | 1 | 1 | 1 | Data de Fabricação | Data de Fabricação | TXT | 0 | NULL | NULL | NULL | IU | 0 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | {"recognition":{"labels": ["Fabricado em", "Ano de fabricação"]}} |
DADOS_PLAQUETAS | NUMERO_SERIE | 2 | 0 | 1 | 1 | 1 | Número de Série | Número de Série | TXT | 0 | NULL | NULL | NULL | IU | 0 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | {"recognition":{"labels": ["№ de série"]}} |
DADOS_PLAQUETAS | TIPO | 1 | 0 | 1 | 1 | 1 | Tipo | Tipo | TXT | 0 | NULL | NULL | NULL | IU | 0 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | {"recognition":{"labels": ["Produto tipo", "Tipo"]}} |
Last but not least, Ativar o processamento da Imagem
Até a presente data ainda não foi definido como fazer isso de forma automática, estamos analisado, mas pode pedir ao Dalton para configurar os processamentos.