public OcrSdkTask GetTaskStatus(TaskId task) { string url = String.Format("{0}/getTaskStatus?taskId={1}", ServerUrl, Uri.EscapeDataString(task.ToString())); WebRequest request = createGetRequest(url); XDocument response = performRequest(request); OcrSdkTask serverTask = ServerXml.GetTaskStatus(response); return(serverTask); }
/// <summary> /// Recognize Machine-Readable Zone of an official document (Passport, ID, Visa etc) /// </summary> public OcrSdkTask ProcessMrz(Stream blob) { string url = String.Format("{0}/processMRZ", ServerUrl); WebRequest request = createPostRequest(url); WriteFileToRequest(blob, request); XDocument response = performRequest(request); OcrSdkTask serverTask = ServerXml.GetTaskStatus(response); return(serverTask); }
public OcrSdkTask ProcessBusinessCard(string filePath, BusCardProcessingSettings settings) { string url = String.Format("{0}/processBusinessCard?{1}", ServerUrl, settings.AsUrlParams); // Build post request WebRequest request = createPostRequest(url); writeFileToRequest(filePath, request); XDocument response = performRequest(request); OcrSdkTask serverTask = ServerXml.GetTaskStatus(response); return(serverTask); }
/// <summary> /// Delete task on a server. This function cannot delete tasks that are being processed. /// </summary> public OcrSdkTask DeleteTask(OcrSdkTask task) { switch (task.Status) { case TaskStatus.Deleted: case TaskStatus.InProgress: case TaskStatus.Unknown: throw new ArgumentException("Invalid task status: " + task.Status + ". Cannot delete"); } string url = String.Format("{0}/deleteTask?taskId={1}", ServerUrl, Uri.EscapeDataString(task.Id.ToString())); WebRequest request = createGetRequest(url); XDocument response = performRequest(request); OcrSdkTask serverTask = ServerXml.GetTaskStatus(response); return(serverTask); }
/// <summary> /// Perform fields recognition of uploaded document. /// </summary> /// <param name="task">Task created by UploadAndAddFileToTask method</param> /// <param name="settingsPath">Path to file with xml processing settings.</param> public OcrSdkTask ProcessFields(OcrSdkTask task, string settingsPath) { if (!File.Exists(settingsPath)) { throw new FileNotFoundException("Settings file doesn't exist.", settingsPath); } string url = String.Format("{0}/processFields?taskId={1}", ServerUrl, task.Id); WebRequest request = createPostRequest(url); writeFileToRequest(settingsPath, request); XDocument response = performRequest(request); OcrSdkTask result = ServerXml.GetTaskStatus(response); return(result); }
public OcrSdkTask StartProcessingTask(TaskId taskId, ProcessingSettings settings) { string url = String.Format("{0}/processDocument?taskId={1}&{2}", ServerUrl, Uri.EscapeDataString(taskId.ToString()), settings.AsUrlParams); if (!String.IsNullOrEmpty(settings.Description)) { url = url + "&description=" + Uri.EscapeDataString(settings.Description); } // Build get request WebRequest request = createGetRequest(url); XDocument response = performRequest(request); OcrSdkTask serverTask = ServerXml.GetTaskStatus(response); return(serverTask); }
/// <summary> /// Upload image of a multipage document to server. /// </summary> /// <param name="filePath">Path to an image to process</param> /// <param name="taskToAddFile">Id of multipage document. If null, a new document is created</param> /// <returns>Id of document to which image was added</returns> public OcrSdkTask UploadAndAddFileToTask(string filePath, TaskId taskToAddFile) { string url = String.Format("{0}/submitImage", ServerUrl); if (taskToAddFile != null) { url = url + "?taskId=" + Uri.EscapeDataString(taskToAddFile.ToString()); } // Build post request WebRequest request = createPostRequest(url); writeFileToRequest(filePath, request); XDocument response = performRequest(request); OcrSdkTask task = ServerXml.GetTaskStatus(response); return(task); }
/// <summary> /// Upload a file to service synchronously and start processing /// </summary> /// <param name="filePath">Path to an image to process</param> /// <param name="settings">Language and output format</param> /// <returns>Id of the task. Check task status to see if you have enough units to process the task</returns> /// <exception cref="ProcessingErrorException">thrown when something goes wrong</exception> public OcrSdkTask ProcessImage(string filePath, ProcessingSettings settings) { string url = String.Format("{0}/processImage?{1}", ServerUrl, settings.AsUrlParams); if (!String.IsNullOrEmpty(settings.Description)) { url = url + "&description=" + Uri.EscapeDataString(settings.Description); } // Build post request WebRequest request = createPostRequest(url); writeFileToRequest(filePath, request); XDocument response = performRequest(request); OcrSdkTask task = ServerXml.GetTaskStatus(response); return(task); }