From da75f4cb529b06b3b18f501ace4c71a9d9a0f7cb Mon Sep 17 00:00:00 2001 From: atir_naveed_geeksltd Date: Tue, 30 May 2023 11:54:56 +0100 Subject: [PATCH] Update changes --- Olive.Aws.Textract/AmazonTextract.cs | 44 +++++++++++++++++++- Olive.Aws.Textract/Models.cs | 13 ++++++ Olive.Aws.Textract/Olive.Aws.Textract.csproj | 2 +- 3 files changed, 57 insertions(+), 2 deletions(-) diff --git a/Olive.Aws.Textract/AmazonTextract.cs b/Olive.Aws.Textract/AmazonTextract.cs index 7c8af9bb..ccf5cc59 100644 --- a/Olive.Aws.Textract/AmazonTextract.cs +++ b/Olive.Aws.Textract/AmazonTextract.cs @@ -259,7 +259,6 @@ public static async Task StartAnalyzeDocument(string documentKey, string { S3Bucket = outputBucket, S3Prefix = prefix, - }, FeatureTypes = featureTypes, }; @@ -274,5 +273,48 @@ public static async Task StartAnalyzeDocument(string documentKey, string throw e; } } + + /// + /// Returns an Object containing the job status blocks and next token of the job. + /// + public static async Task GetAnalyzeJobResultBlocks(string jobId, string nextToken = null) + { + var detectRequest = new GetDocumentAnalysisRequest() + { + JobId = jobId, + NextToken = nextToken + }; + try + { + var detectTextResponse = await Client.GetDocumentAnalysisAsync(detectRequest); + return new TextDetectionBlockResults(detectTextResponse); + } + catch (Exception e) + { + Console.WriteLine(e.Message); + throw e; + } + } + /// + /// Returns an Object containing the job status, text and next token of the job. + /// + public static async Task GetAnalyzeJobResultText(string jobId, string nextToken = null) + { + var detectTextRequest = new GetDocumentAnalysisRequest() + { + JobId = jobId, + NextToken = nextToken + }; + try + { + var detectTextResponse = await Client.GetDocumentAnalysisAsync(detectTextRequest); + return new TextDetectionTextResults(detectTextResponse); ; + } + catch (Exception e) + { + Console.WriteLine(e.Message); + throw e; + } + } } } diff --git a/Olive.Aws.Textract/Models.cs b/Olive.Aws.Textract/Models.cs index 7cab1900..d64ace21 100644 --- a/Olive.Aws.Textract/Models.cs +++ b/Olive.Aws.Textract/Models.cs @@ -15,6 +15,12 @@ internal TextDetectionBlockResults(GetDocumentTextDetectionResponse response) NextToken= response.NextToken; JobStatus= response.JobStatus; } + internal TextDetectionBlockResults(GetDocumentAnalysisResponse response) + { + Blocks = response.Blocks; + NextToken = response.NextToken; + JobStatus = response.JobStatus; + } public IEnumerable Blocks { get; set; } public string NextToken { get; set; } public JobStatus JobStatus { get; set; } @@ -28,6 +34,13 @@ internal TextDetectionTextResults(GetDocumentTextDetectionResponse response) JobStatus = response.JobStatus; } + internal TextDetectionTextResults(GetDocumentAnalysisResponse response) + { + Text = response.Blocks.Select(x => x.Text).ExceptNull().ToString("\n"); + NextToken = response.NextToken; + JobStatus = response.JobStatus; + } + public string Text { get; set; } public string NextToken { get; set; } public JobStatus JobStatus { get; set; } diff --git a/Olive.Aws.Textract/Olive.Aws.Textract.csproj b/Olive.Aws.Textract/Olive.Aws.Textract.csproj index 369c374f..f9920eae 100644 --- a/Olive.Aws.Textract/Olive.Aws.Textract.csproj +++ b/Olive.Aws.Textract/Olive.Aws.Textract.csproj @@ -1,7 +1,7 @@  netstandard2.0 - 1.0.9 + 1.0.10