Skip to content

Commit

Permalink
[Form Recognizer] Support new features on Document Page (#34317)
Browse files Browse the repository at this point in the history
  • Loading branch information
samvaity committed Apr 10, 2023
1 parent 02f6ef5 commit 283baea
Show file tree
Hide file tree
Showing 28 changed files with 1,051 additions and 212 deletions.
3 changes: 3 additions & 0 deletions sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
- Added properties `unit`, `cityDistrict`, `stateDistrict`, `suburb`, `house`, and `level` to `AddressValue`
- Added method `isValueBoolean` to model `DocumentField`
- Added support for `DocumentFieldType.BOOLEAN`
- Added DocumentAnalysisFeature enum with optional document analysis feature to enable
- Added properties `annotations`, `images`, `formulas`, and `barcodes` to `DocumentPage`.
- Added models `DocumentAnnotation`, `DocumentImage`, `DocumentFormula`, and `DocumentBarcode`

### Breaking Changes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package com.azure.ai.formrecognizer.documentanalysis.implementation.models;

import com.azure.ai.formrecognizer.documentanalysis.models.DocumentAnnotationKind;
import com.azure.core.annotation.Immutable;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package com.azure.ai.formrecognizer.documentanalysis.implementation.models;

import com.azure.ai.formrecognizer.documentanalysis.models.DocumentSignatureType;
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package com.azure.ai.formrecognizer.documentanalysis.implementation.models;

import com.azure.ai.formrecognizer.documentanalysis.models.DocumentFormulaKind;
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package com.azure.ai.formrecognizer.documentanalysis.implementation.models;

import com.azure.ai.formrecognizer.documentanalysis.models.DocumentPageKind;
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

package com.azure.ai.formrecognizer.documentanalysis.implementation.models;

import com.azure.ai.formrecognizer.documentanalysis.models.FontStyle;
import com.azure.ai.formrecognizer.documentanalysis.models.FontWeight;
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package com.azure.ai.formrecognizer.documentanalysis.implementation.models;

import com.azure.ai.formrecognizer.documentanalysis.models.DocumentTableCellKind;
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.ai.formrecognizer.documentanalysis.implementation.util;

import com.azure.ai.formrecognizer.documentanalysis.models.DocumentAnnotation;
import com.azure.ai.formrecognizer.documentanalysis.models.DocumentAnnotationKind;
import com.azure.ai.formrecognizer.documentanalysis.models.Point;

import java.util.List;

/**
* The helper class to set the non-public properties of an {@link DocumentAnnotation} instance.
*/
public final class DocumentAnnotationHelper {
private static DocumentAnnotationAccessor accessor;

private DocumentAnnotationHelper() {
}

/**
* Type defining the methods to set the non-public properties of an {@link DocumentAnnotation} instance.
*/
public interface DocumentAnnotationAccessor {
void setPolygon(DocumentAnnotation documentAnnotation, List<Point> polygon);

void setKind(DocumentAnnotation documentAnnotation, DocumentAnnotationKind kind);



void setConfidence(DocumentAnnotation documentAnnotation, float confidence);
}

/**
* The method called from {@link DocumentAnnotation} to set it's accessor.
*
* @param documentAnnotationAccessor The accessor.
*/
public static void setAccessor(final DocumentAnnotationHelper.DocumentAnnotationAccessor documentAnnotationAccessor) {
accessor = documentAnnotationAccessor;
}

static void setPolygon(DocumentAnnotation documentAnnotation, List<Point> points) {
accessor.setPolygon(documentAnnotation, points);
}

static void setKind(DocumentAnnotation documentAnnotation, DocumentAnnotationKind kind) {
accessor.setKind(documentAnnotation, kind);
}

static void setConfidence(DocumentAnnotation documentAnnotation, float confidence) {
accessor.setConfidence(documentAnnotation, confidence);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.ai.formrecognizer.documentanalysis.implementation.util;

import com.azure.ai.formrecognizer.documentanalysis.models.DocumentBarcode;
import com.azure.ai.formrecognizer.documentanalysis.models.DocumentBarcodeKind;
import com.azure.ai.formrecognizer.documentanalysis.models.DocumentSpan;

/**
* The helper class to set the non-public properties of an {@link DocumentBarcode} instance.
*/
public final class DocumentBarcodeHelper {
private static DocumentBarcodeAccessor accessor;

private DocumentBarcodeHelper() {
}

/**
* Type defining the methods to set the non-public properties of an {@link DocumentBarcode} instance.
*/
public interface DocumentBarcodeAccessor {
void setSpan(DocumentBarcode documentBarcode, DocumentSpan spans);

void setKind(DocumentBarcode documentBarcode, DocumentBarcodeKind kind);

void setValue(DocumentBarcode documentBarcode, String value);


void setConfidence(DocumentBarcode documentBarcode, float confidence);
}

/**
* The method called from {@link DocumentBarcode} to set it's accessor.
*
* @param documentBarcodeAccessor The accessor.
*/
public static void setAccessor(final DocumentBarcodeHelper.DocumentBarcodeAccessor documentBarcodeAccessor) {
accessor = documentBarcodeAccessor;
}

static void setSpan(DocumentBarcode documentBarcode, DocumentSpan span) {
accessor.setSpan(documentBarcode, span);
}

static void setKind(DocumentBarcode documentBarcode, DocumentBarcodeKind kind) {
accessor.setKind(documentBarcode, kind);
}

static void setConfidence(DocumentBarcode documentBarcode, float confidence) {
accessor.setConfidence(documentBarcode, confidence);
}

static void setValue(DocumentBarcode documentBarcode, String value) {
accessor.setValue(documentBarcode, value);
}
}

0 comments on commit 283baea

Please sign in to comment.