public void ProcessFile(string sourceFilePath, string outputFileBase, ProcessingSettings settings) { Console.WriteLine("Uploading.."); Task task = restClient.ProcessImage(sourceFilePath, settings); task = waitForTask(task); if (task.Status == TaskStatus.Completed) { Console.WriteLine("Processing completed."); for (int i = 0; i < settings.OutputFormats.Count; i++) { var outputFormat = settings.OutputFormats[i]; string ext = settings.GetOutputFileExt(outputFormat); restClient.DownloadUrl(task.DownloadUrls[i], outputFileBase + ext); } Console.WriteLine("Download completed."); } else if (task.Status == TaskStatus.NotEnoughCredits) { Console.WriteLine("Not enough credits to process the file. Please add more pages to your application balance."); } else { Console.WriteLine("Error while processing the task"); } }
public void ProcessDocument(IEnumerable<string> _sourceFiles, string outputFileBase, ProcessingSettings settings) { string[] sourceFiles = _sourceFiles.ToArray(); Console.WriteLine(String.Format("Recognizing {0} images as a document", sourceFiles.Length)); Task task = null; for (int fileIndex = 0; fileIndex < sourceFiles.Length; fileIndex++) { string filePath = sourceFiles[fileIndex]; Console.WriteLine("{0}: uploading {1}", fileIndex + 1, Path.GetFileName(filePath)); task = restClient.UploadAndAddFileToTask(filePath, task == null ? null : task.Id); } // Start task Console.WriteLine("Starting task.."); task = restClient.StartProcessingTask(task.Id, settings); task = waitForTask(task); if (task.Status == TaskStatus.Completed) { Console.WriteLine("Processing completed."); for( int i = 0; i < settings.OutputFormats.Count; i++ ) { var outputFormat = settings.OutputFormats[i]; string ext = settings.GetOutputFileExt(outputFormat); restClient.DownloadUrl(task.DownloadUrls[i], outputFileBase + ext); } Console.WriteLine("Download completed."); } else { Console.WriteLine("Error while processing the task"); } }
public void ProcessFile(string sourceFilePath, string outputFileBase, ProcessingSettings settings) { Console.WriteLine("Uploading.."); Task task = restClient.ProcessImage(sourceFilePath, settings); TaskId taskId = task.Id; while (true) { task = restClient.GetTaskStatus(taskId); if (!Task.IsTaskActive(task.Status)) break; Console.WriteLine(String.Format("Task status: {0}", task.Status)); System.Threading.Thread.Sleep(1000); } if (task.Status == TaskStatus.Completed) { Console.WriteLine("Processing completed."); for (int i = 0; i < settings.OutputFormats.Count; i++) { var outputFormat = settings.OutputFormats[i]; string ext = settings.GetOutputFileExt(outputFormat); restClient.DownloadUrl(task.DownloadUrls[i], outputFileBase + ext); } Console.WriteLine("Download completed."); } else if (task.Status == TaskStatus.NotEnoughCredits) { Console.WriteLine("Not enough credits to process the file. Please add more pages to your application balance."); } else { Console.WriteLine("Error while processing the task"); } }