Class OCRServiceImpl
Object
OCRServiceImpl
- All Implemented Interfaces:
DocumentEngineEventListener,DocumentHandler,OCRService,OCRServiceRegistry
@Service("vOCRService")
public class OCRServiceImpl
extends Object
implements OCRService, OCRServiceRegistry, DocumentEngineEventListener, DocumentHandler
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidafterModelFieldInsertOrUpdate(ModeloCampoDocumento campo) ArquivoatualizarAmostra(ModeloDocumentoOCR modelo, FileInfo amostra) Substitui o arquivo de amostra de um modelo de OCR existente.voidbeforeModelFieldRemoved(ModeloCampoDocumento campo) booleancanBeconverted(File source, FileType targetType) convertFile(File source, FileType targetType) Converte o arquivo de origem para o tipo de destino informado, quando suportado (ex.: normalizacao de formato antes do OCR).ModeloDocumentoOCRcriarModelo(ModeloDocumentoOCR modelo, Arquivo amostra, File tempFile) Cria um novo modelo de OCR a partir de um documento de amostra.voiddefinirOrdemModeloOCR(Long mapeamentoID, int novaOrdem) doOCR(File source, Collection<ModeloDocumentoOCR> models) Executa o OCR do arquivo informado contra um conjunto especifico de modelos.doOCR(File source, Collection<ModeloDocumentoOCR> models, boolean stopOnSucess) doOCR(Path source, Collection<ModeloDocumentoOCR> models) doOCR(Path filePath, Collection<ModeloDocumentoOCR> models, boolean stopOnSucess) doOCRForAllDocumentModels(File source, ModeloDocumento document) Executa o OCR do arquivo informado contra todos os modelos de OCR vinculados ao documento informado.doOCRForAllDocumentModels(File source, ModeloDocumento document, boolean stopOnSucess) doOCRForAllDocumentModels(File source, String documentKey) doOCRForAllDocumentModels(File source, String documentKey, boolean stopOnSucess) doOCRForAllModels(File source) Executa o OCR do arquivo informado contra todos os modelos de OCR cadastrados no sistema.doOCRForAllModels(File source, boolean stopOnSucess) Executa o OCR contra todos os modelos cadastrados, com opcao de interromper o processamento assim que um modelo for reconhecido com sucesso.List<ModeloCampoDocumento> getCamposNaoMapeados(ModeloDocumentoOCR mapeamento) List<ModeloCampoDocumento> getCamposObrigatoriosNaoMapeados(ModeloDocumentoOCR mapeamento) getCountCamposNaoMapeados(ModeloDocumentoOCR mapeamento) getCountCamposObrigatoriosNaoMapeados(ModeloDocumentoOCR mapeamento) ModeloDocumentoOCRMapeamentoCampoModeloOCRgetMapeamentoCampo(ModeloDocumentoOCR documentoOCR, String campoId) List<MapeamentoCampoModeloOCR> getMapeamentos(ModeloDocumentoOCR documentoOCR) List<MapeamentoCampoModeloOCR> getMapeamentosCampo(ModeloDocumento modelo, String campoId) List<ModeloDocumentoOCR> getModelosAtivosParaDocumento(ModeloDocumento modelo) List<ModeloDocumentoOCR> getModelosParaDocumento(ModeloDocumento modelo) StatusModeloOCRgetStatus(ModeloDocumentoOCR mapeamento) parseRepresentation(String representation) voidrefreshStatus(ModeloDocumentoOCR modelo) Recalcula e persiste o status do modelo de OCR (ex.: completo, com pendencias de mapeamento) com base no estado atual de seus mapeamentos.voidrefreshStatus(ModeloDocumentoOCR modelo, List<OCRResult> results) Recalcula e persiste o status do modelo de OCR considerando tambem os resultados de OCR informados.voidrefreshStatusForModels(ModeloDocumento documento) voidrefreshStatusForModels(String documentKey) voidregister(OCRProvider provider) voidremoverMapeamento(MapeamentoCampoModeloOCR mapeamento) ModeloDocumentoOCRsalvarModelo(ModeloDocumentoOCR modelo) MapeamentoCampoModeloOCRsaveMapeamento(MapeamentoCampoModeloOCR mapeamento) voidsaveMapeamentos(Collection<MapeamentoCampoModeloOCR> mapeamentos) voidsetDocumentoDao(DocumentoDao documentoDao) voidsetDocumentoOCRDao(DocumentoOCRDao documentoOCRDao) voidsetFileService(FileService fileService) voidsetModeloDao(ModeloDocumentoDao modeloDao) voidsetOcrDao(ModeloDocumentoOCRDao ocrDao) store(OCRResult result, StoreOptions options) Persiste um resultado de OCR aplicando as opcoes de armazenamento informadas (ex.: sobrescrita de campos ja preenchidos).tryResolveType(File source) Tenta resolver o tipo do arquivo informado a partir de seu conteudo.
-
Constructor Details
-
OCRServiceImpl
public OCRServiceImpl()
-
-
Method Details
-
setOcrDao
-
setFileService
-
setModeloDao
-
setDocumentoDao
-
setDocumentoOCRDao
-
register
- Specified by:
registerin interfaceOCRServiceRegistry
-
doOCRForAllModels
Description copied from interface:OCRServiceExecuta o OCR do arquivo informado contra todos os modelos de OCR cadastrados no sistema.- Specified by:
doOCRForAllModelsin interfaceOCRService- Parameters:
source- arquivo a ser processado- Returns:
- lista de resultados, um por modelo avaliado
- Throws:
OCRException- em caso de falha no processamento do OCR
-
doOCRForAllDocumentModels
public List<OCRResult> doOCRForAllDocumentModels(File source, ModeloDocumento document) throws OCRException Description copied from interface:OCRServiceExecuta o OCR do arquivo informado contra todos os modelos de OCR vinculados ao documento informado.- Specified by:
doOCRForAllDocumentModelsin interfaceOCRService- Parameters:
source- arquivo a ser processadodocument- documento cujos modelos de OCR serao usados- Returns:
- lista de resultados, um por modelo avaliado
- Throws:
OCRException- em caso de falha no processamento do OCR
-
doOCRForAllDocumentModels
public List<OCRResult> doOCRForAllDocumentModels(File source, String documentKey) throws OCRException - Specified by:
doOCRForAllDocumentModelsin interfaceOCRService- Throws:
OCRException
-
doOCR
public List<OCRResult> doOCR(File source, Collection<ModeloDocumentoOCR> models) throws OCRException Description copied from interface:OCRServiceExecuta o OCR do arquivo informado contra um conjunto especifico de modelos.- Specified by:
doOCRin interfaceOCRService- Parameters:
source- arquivo a ser processadomodels- modelos de OCR a serem aplicados- Returns:
- lista de resultados, um por modelo avaliado
- Throws:
OCRException- em caso de falha no processamento do OCR
-
doOCR
public List<OCRResult> doOCR(Path source, Collection<ModeloDocumentoOCR> models) throws OCRException - Specified by:
doOCRin interfaceOCRService- Throws:
OCRException
-
doOCRForAllModels
Description copied from interface:OCRServiceExecuta o OCR contra todos os modelos cadastrados, com opcao de interromper o processamento assim que um modelo for reconhecido com sucesso.- Specified by:
doOCRForAllModelsin interfaceOCRService- Parameters:
source- arquivo a ser processadostopOnSucess- setrue, interrompe ao primeiro modelo bem-sucedido, evitando avaliar os demais- Returns:
- lista de resultados ate o ponto de parada
- Throws:
OCRException- em caso de falha no processamento do OCR
-
doOCRForAllDocumentModels
public List<OCRResult> doOCRForAllDocumentModels(File source, ModeloDocumento document, boolean stopOnSucess) throws OCRException - Specified by:
doOCRForAllDocumentModelsin interfaceOCRService- Throws:
OCRException
-
doOCRForAllDocumentModels
public List<OCRResult> doOCRForAllDocumentModels(File source, String documentKey, boolean stopOnSucess) throws OCRException - Specified by:
doOCRForAllDocumentModelsin interfaceOCRService- Throws:
OCRException
-
doOCR
public List<OCRResult> doOCR(File source, Collection<ModeloDocumentoOCR> models, boolean stopOnSucess) throws OCRException - Specified by:
doOCRin interfaceOCRService- Throws:
OCRException
-
doOCR
public List<OCRResult> doOCR(Path filePath, Collection<ModeloDocumentoOCR> models, boolean stopOnSucess) throws OCRException - Specified by:
doOCRin interfaceOCRService- Throws:
OCRException
-
criarModelo
Description copied from interface:OCRServiceCria um novo modelo de OCR a partir de um documento de amostra. O arquivo de amostra e persistido e usado como referencia para o mapeamento de campos.- Specified by:
criarModeloin interfaceOCRService- Parameters:
modelo- configuracao inicial do modelo de OCRamostra- metadados do arquivo de amostratempFile- arquivo fisico de amostra em area temporaria- Returns:
- o modelo de OCR criado e persistido
-
salvarModelo
@Transactional(propagation=REQUIRED) public ModeloDocumentoOCR salvarModelo(ModeloDocumentoOCR modelo) - Specified by:
salvarModeloin interfaceOCRService
-
atualizarAmostra
@Transactional(propagation=REQUIRED) public Arquivo atualizarAmostra(ModeloDocumentoOCR modelo, FileInfo amostra) Description copied from interface:OCRServiceSubstitui o arquivo de amostra de um modelo de OCR existente.- Specified by:
atualizarAmostrain interfaceOCRService- Parameters:
modelo- modelo de OCR a ter a amostra atualizadaamostra- novo arquivo de amostra- Returns:
- metadados do arquivo de amostra persistido
-
getModelosParaDocumento
@Transactional(propagation=REQUIRED) public List<ModeloDocumentoOCR> getModelosParaDocumento(ModeloDocumento modelo) - Specified by:
getModelosParaDocumentoin interfaceOCRService
-
getModelosAtivosParaDocumento
- Specified by:
getModelosAtivosParaDocumentoin interfaceOCRService
-
getMapeamentos
- Specified by:
getMapeamentosin interfaceOCRService
-
saveMapeamento
@Transactional(propagation=REQUIRED) public MapeamentoCampoModeloOCR saveMapeamento(MapeamentoCampoModeloOCR mapeamento) - Specified by:
saveMapeamentoin interfaceOCRService
-
refreshStatus
@Transactional(propagation=REQUIRED) public void refreshStatus(ModeloDocumentoOCR modelo) Description copied from interface:OCRServiceRecalcula e persiste o status do modelo de OCR (ex.: completo, com pendencias de mapeamento) com base no estado atual de seus mapeamentos.- Specified by:
refreshStatusin interfaceOCRService- Parameters:
modelo- modelo de OCR a ter o status reavaliado
-
refreshStatus
Description copied from interface:OCRServiceRecalcula e persiste o status do modelo de OCR considerando tambem os resultados de OCR informados.- Specified by:
refreshStatusin interfaceOCRService- Parameters:
modelo- modelo de OCR a ter o status reavaliadoresults- resultados de OCR a serem levados em conta na avaliacao
-
refreshStatusForModels
@Transactional(propagation=REQUIRED) public void refreshStatusForModels(ModeloDocumento documento) - Specified by:
refreshStatusForModelsin interfaceOCRService
-
refreshStatusForModels
- Specified by:
refreshStatusForModelsin interfaceOCRService
-
getCountCamposNaoMapeados
- Specified by:
getCountCamposNaoMapeadosin interfaceOCRService
-
getCamposNaoMapeados
- Specified by:
getCamposNaoMapeadosin interfaceOCRService
-
getCountCamposObrigatoriosNaoMapeados
- Specified by:
getCountCamposObrigatoriosNaoMapeadosin interfaceOCRService
-
getCamposObrigatoriosNaoMapeados
- Specified by:
getCamposObrigatoriosNaoMapeadosin interfaceOCRService
-
getStatus
public StatusModeloOCR getStatus(ModeloDocumentoOCR mapeamento) - Specified by:
getStatusin interfaceOCRService
-
saveMapeamentos
@Transactional(propagation=REQUIRED) public void saveMapeamentos(Collection<MapeamentoCampoModeloOCR> mapeamentos) - Specified by:
saveMapeamentosin interfaceOCRService
-
getMapeamentoCampo
- Specified by:
getMapeamentoCampoin interfaceOCRService
-
getMapeamentosCampo
- Specified by:
getMapeamentosCampoin interfaceOCRService
-
removerMapeamento
@Transactional(propagation=REQUIRED) public void removerMapeamento(MapeamentoCampoModeloOCR mapeamento) - Specified by:
removerMapeamentoin interfaceOCRService
-
getDocumentoOCRPorId
- Specified by:
getDocumentoOCRPorIdin interfaceOCRService
-
tryResolveType
Description copied from interface:OCRServiceTenta resolver o tipo do arquivo informado a partir de seu conteudo.- Specified by:
tryResolveTypein interfaceOCRService- Parameters:
source- arquivo cujo tipo sera detectado- Returns:
- tipo de arquivo detectado
- Throws:
OCRException- se o tipo nao puder ser determinado
-
convertFile
Description copied from interface:OCRServiceConverte o arquivo de origem para o tipo de destino informado, quando suportado (ex.: normalizacao de formato antes do OCR).- Specified by:
convertFilein interfaceOCRService- Parameters:
source- arquivo de origemtargetType- tipo de arquivo desejado para a saida- Returns:
- arquivo convertido
- Throws:
OCRException- se a conversao nao for suportada ou falhar- See Also:
-
canBeconverted
- Specified by:
canBeconvertedin interfaceOCRService- Throws:
OCRException
-
definirOrdemModeloOCR
@Transactional(propagation=REQUIRED) public void definirOrdemModeloOCR(Long mapeamentoID, int novaOrdem) - Specified by:
definirOrdemModeloOCRin interfaceOCRService
-
afterModelFieldInsertOrUpdate
@Transactional(propagation=REQUIRED) public void afterModelFieldInsertOrUpdate(ModeloCampoDocumento campo) - Specified by:
afterModelFieldInsertOrUpdatein interfaceDocumentEngineEventListener
-
beforeModelFieldRemoved
@Transactional(propagation=REQUIRED) public void beforeModelFieldRemoved(ModeloCampoDocumento campo) - Specified by:
beforeModelFieldRemovedin interfaceDocumentEngineEventListener
-
documentParserServiceId
- Specified by:
documentParserServiceIdin interfaceDocumentHandler
-
parseRepresentation
- Specified by:
parseRepresentationin interfaceDocumentHandler
-
store
- Specified by:
storein interfaceOCRService
-
store
Description copied from interface:OCRServicePersiste um resultado de OCR aplicando as opcoes de armazenamento informadas (ex.: sobrescrita de campos ja preenchidos).- Specified by:
storein interfaceOCRService- Parameters:
result- resultado de OCR a persistiroptions- opcoes que controlam como o resultado e gravado- Returns:
- id do registro persistido
-