示例#1
0
        private static ICloudOCRService CreateAzureOCR(string serviceUrl, string serviceKey, IComputer computer, ILogger logger, IEngineConfig config)
        {
            if (_azureService == null)
            {
                IOCRResultTextFinder textFinder = new AzureRecognizeTextFinder();
                _azureService = new AzureOCRService(computer, textFinder, serviceUrl, serviceKey, logger, config);
            }

            return(_azureService);
        }
        public static IReadOnlyList <ICloudOCRService> GetCloudOCRServices(IComputer computer, IEngineConfig config, ILogger logger)
        {
            IReadOnlyList <IOCRProviderConfig> ocrProviders = config.GetOCRProviders();

            if (ocrProviders == null || ocrProviders.Count == 0)
            {
                return(null);
            }

            List <ICloudOCRService> services = new List <ICloudOCRService>();

            foreach (IOCRProviderConfig providerConfig in ocrProviders)
            {
                ICloudOCRService service = CloudOCRServiceFactory.Create(providerConfig.Provider, providerConfig.Endpoint, providerConfig.Key, computer, logger, config);

                if (service != null)
                {
                    services.Add(service);
                }
            }

            return(services);
        }