- Added support for analyzing new document types
- Added support for AzureBlobList source type when building document models
- Added support for building, getting, listing and deleting classifiers
- Added support for queryFields premium feature when performing analysis operations
- Added model
QuotaDetails
and propertycustomNeuralDocumentModelBuilds
onResourceDetails
- Added property
expiresOn
toDocumentModelDetails
andDocumentModelSummary
- Added properties on
DocumentStyle
:similarFontFamily
,fontStyle
,fontWeight
,color
,backgroundColor
- Added property
commonName
toDocumentKeyValuePair
. - Added support for ParagraphRole
formulaBlock
- Added support for
code
property onCurrencyValue
- Added properties
unit
,cityDistrict
,stateDistrict
,suburb
,house
, andlevel
toAddressValue
- Added method
isValueBoolean
to modelDocumentField
- Added support for
DocumentFieldType.BOOLEAN
- Added DocumentAnalysisFeature enum with optional document analysis feature to enable
- Added properties
annotations
,images
,formulas
, andbarcodes
toDocumentPage
. - Added models
DocumentAnnotation
,DocumentImage
,DocumentFormula
, andDocumentBarcode
com.azure.core.exception.HttpResponseException: Deserialization Failed
error when using thebeginClassifyDocument
method on DocumentAnalysisAsyncClient and DocumentAnalysisClient.
- Upgraded
azure-core-http-netty
from1.13.1
to version1.13.2
. - Upgraded
azure-core
from1.37.0
to version1.38.0
.
- Upgraded
azure-core-http-netty
from1.13.0
to version1.13.1
. - Upgraded
azure-core
from1.36.0
to version1.37.0
.
- Method
beginAnalyzeDocument
requires the document length to be specified and not null when analyzing a document.
- Upgraded
azure-core
to version1.36.0
. - Upgraded
azure-core-http-netty
to version1.13.0
.
- Upgraded
azure-core
from1.33.0
to version1.35.0
. - Upgraded
azure-core-http-netty
from1.12.7
to version1.12.8
.
- Upgraded
azure-core
from1.33.0
to version1.34.0
. - Upgraded
azure-core-http-netty
from1.12.6
to version1.12.7
.
- Fixed bug when deserializing properties on DocumentField.
- Upgraded
azure-core
to1.33.0
. - Upgraded
azure-core-http-netty
to1.12.6
.
This version of the SDK defaults 2022-08-31 going forward.
- Added a method
getWords()
on modelDocumentLine
. - Added
TypedDocumentField<T>
model for strongly typed representation ofFields
on analyzed documents.DocumentField
extends fromTypedDocumentField<T>
. - Added interfaces from
com.azure.core.client.traits
toFormRecognizerClientBuilder
andFormTrainingClientBuilder
- Removed property
kind
from modelDocumentPage
- Removed model
DocumentPageKind
,DocumentEntity
,DocumentFootnote
, andDocumentCaption
. - Renamed models:
ModelOperationDetails
toOperationDetails
ModelOperationSummary
toOperationSummary
ModelOperationKind
toOperationKind
ModelOperationStatus
toOperationStatus
DocumentOperationKind
toOperationKind
BuildModelOptions
toBuildDocumentModelOptions
ComposeModelOptions
toComposeDocumentModelOptions
DocumentOperationResult
toOperationResult
CopyAuthorization
toDocumentModelCopyAuthorization
LengthUnit
toDocumentPageLengthUnit
SelectionMarkState
toDocumentSelectionMarkState
- Renamed properties
documentModelCount
anddocumentModelLimit
tocustomDocumentModelCount
andcustomDocumentModelLimit
on modelResourceDetails
. - Renamed clients methods:
getModel
togetDocumentModel
listModels
tolistDocumentModels
deleteModel
todeleteDocumentModel
beginBuildModel
tobeginBuildDocumentModel
beginComposeModel
tobeginComposeDocumentModel
- Renamed property
DocumentFieldType.INTEGER
toDocumentFieldType.LONG
- Renamed method
getValueInteger
togetValueLong
andgetValueFloat
togetValueLong
onDocumentField
model - Renamed properties on model
DocumentAnalysisAudience
- Upgraded
azure-core
to1.32.0
. - Upgraded
azure-core-http-netty
to1.12.5
.
- Upgraded
azure-core
to1.31.0
. - Upgraded
azure-core-http-netty
to1.12.4
.
- Add a constructor to create an instance of
CopyAuthorization
model. - Added BinaryData support to document analysis client using
beginAnalyzeDocument(String modelId, BinaryData document, long length)
- Added support for V2.1 & V2.0 APIs by adding FormRecognizerClient and FormTrainingClient.
- Renamed
beginCreateComposedModel
method tobeginComposeModel
on DocumentModelAdministrationClient and DocumentModelAdministrationAsyncClient. - Renamed
CreateComposedModelOptions
model toComposeModelOptions
- Renamed
DocumentModelInfo
model toDocumentModelDetails
- Renamed
ModelOperation
model toModelOperationDetails
- Renamed
ModelOperationInfo
model toModelOperationSummary
- Renamed
getAccountProperties
method togetResourceDetails
- Renamed
AccountProperties
model toResourceDetails
- Renamed
state
property on modelDocumentSelectionMark
todocumentSelectionMarkState
- Renamed
getValue*
accessor methods onDocumentField
togetValueAs*
- Renamed
DocTypeInfo
model toDocumentTypeDetails
- Renamed
docTypes
property onDocumentModelDetails
model todocumentTypes
- Removed models
DocumentModelOperationException
,DocumentModelOperationError
andDocumentModelOperationInnerError
. - Renamed
trainingFilesUrl
toblobContainerUrl
inbeginBuildModel
method - Changed method
beginBuildModel(String, DocumentModelBuildMode, BuildModelOptions)
tobeginBuildModel(String, DocumentModelBuildMode, String, BuildModelOptions)
- Removed
prefix
property on modelBuildModelOptions
- Upgraded
azure-core
to1.31.0
. - Upgraded
azure-core-http-netty
to1.12.4
.
- Upgraded
azure-core
to1.30.0
. - Upgraded
azure-core-http-netty
to1.12.3
.
- Upgraded
azure-core
to1.29.1
. - Upgraded
azure-core-http-netty
to1.12.2
.
- Added support for address type field value.
- Added support for vertex coordinates with model
Point
to represent polygon vertices inboundingPolygon
property. - Added
paragraphs
property onAnalyzeResult
. - Added a new
DocumentParagraph
model to represent document paragraphs. - Added
kind
property onDocumentPage
to represent the document page kind.
- Renamed
modelIDs
in methodbeginCreateComposedModel
tocomponentModelIds
- Renamed method
beginCopyModel
tobeginCopyModelTo
- Renamed property
boundingBox
in modelBoundingRegion
,DocumentLine
,DocumentWord
, andDocumentSelectionMark
toboundingPolygon
. - Removed
entities
property on modelAnalyzeResult
- Renamed
code
property onDocumentLanguage
model tolocale
- Upgraded
azure-core
to1.29.1
. - Upgraded
azure-core-http-netty
to1.12.2
.
- Upgraded
azure-core
from1.27.0
to version1.28.0
. - Upgraded
azure-core-http-netty
from1.11.9
to version1.12.0
.
- Upgraded
azure-core
from1.26.0
to version1.27.0
. - Upgraded
azure-core-http-netty
from1.11.8
to version1.11.9
.
- Fixed referencing selection mark form element from FormField element.
- Upgraded
azure-core-http-netty
from1.11.7
to version1.11.8
. - Upgraded
azure-core
from1.25.0
to version1.26.0
.
- Added interfaces from
com.azure.core.client.traits
toDocumentAnalysisClientBuilder
andDocumentModelAdministrationClientBuilder
- Added support for currency type field value.
- Added support for users to optionally specify tags when building, copying
or creating a composed a model using
tags
attribute onBuildModelOptions
,CreateComposedModelOptions
andCopyAuthorizationOptions
model. - Added
languages
property onAnalyzeResult
. - Added model
DocumentLanguage
that includes information about the detected languages found in a document.
- Added
DocumentBuildMode
onbeginBuildModel
APIs to support building models with techniques for diverse templates.
- Updated
azure-core
to1.25.0
. - Updated
azure-core-http-netty
to1.11.7
.
- Fixed confidence value returned on fields.
- Updated
azure-core
to1.24.1
. - Updated
azure-core-http-netty
to1.11.6
.
- Updated
azure-core
to1.24.1
. - Updated
azure-core-http-netty
to1.11.6
.
- Update
HttpResponseException
to use azure-coreResponseError
. - Added client validation to check for empty modelId passed by the user for
beginAnalyzeDocument
methods.
- Rename
DocumentAnalysisException
,FormRecognizerError
,InnerError
toDocumentModelOperationException
,DocumentModelOperationError
,DocumentModelOperationInnerError
respectively.
- Updated
azure-core
to1.22.0
. - Updated
azure-core-http-netty
to1.11.2
.
- Updated
azure-core
to1.22.0
. - Updated
azure-core-http-netty
to1.11.2
.
This version of the SDK defaults to the latest supported API version, which currently is 2021-09-30-preview.
Note: Starting with version 2021-09-30-preview, a new set of clients were introduced to leverage the newest features of the Form Recognizer service. Please see the Migration Guide for detailed instructions on how to update application code from client library version 3.1.X or lower to the latest version. Also, please refer to the README for more information about the library.
- Added new DocumentAnalysisClient with beginAnalyzeDocument and beginAnalyzeDocumentFromUrl methods. Use these methods with the latest Form Recognizer API version to analyze documents, with prebuilt and custom models.
- Added new models to use with the new DocumentAnalysisClient: AnalyzeResult, AnalyzedDocument, BoundingRegion, DocumentElement, DocumentEntity, DocumentField, DocumentKeyValuePair, DocumentKeyValueElement, DocumentLine, DocumentPage, DocumentSelectionMark, DocumentSpan, DocumentStyle, DocumentTable, DocumentTableCell, DocumentWord, DocumentOperationResult.
- Added a new model
DocumentAnalysisServiceVersion
that supports Azure Form Recognizer service version "2021-09-30-preview" and onwards. - Added new
DocumentModelAdministrationClient
andDocumentModelAdministrationAsyncClient
with methods: beginBuildModel, beginCreateComposedModel, getCopyAuthorization, deleteModel, getAccountProperties, beginCopyModel, listModels, getModel, getOperation, listOperations. - Added new models to use with the new
DocumentModelAdministrationClient
: DocumentModel, DocTypeInfo, DocumentFieldSchema, AccountProperties, CopyAuthorization, BuildModelOptions, CopyAuthorizationOptions, CreateComposedModelOptions, DocumentAnalysisException, FormRecognizerError, InnerError, DocumentModelInfo, ModelOperation, ModelOperationInfo, ModelOperationStatus, ModelOperationKind.
- This package targets Azure Form Recognizer service API version 2021-09-30-preview and newer. It is not compatible with the older Form Recognizer service API versions (2.0 and 2.1). To continue to use Form Recognizer API version 2.1, please use major version 3 of the client package (azure-ai-form-recognizer 3.1.X).
FormRecognizerClient
andFormRecognizerAsyncClient
has been replaced byDocumentAnalysisClient
andDocumentAnalysisAsyncClient
respectively.FormTrainingClient
andFormTrainingAsyncClient
has been replaced byDocumentModelAdministrationClient
andDocumentModelAdministrationAsyncClient
respectively.
- Upgraded
azure-core
dependency to 1.21.0 - Upgraded
azure-identity
dependency to 1.3.7
- Updated
azure-core
to1.21.0
. - Updated
azure-core-http-netty
to1.11.1
.
- Updated
azure-core
to1.12.0
. - Updated
azure-core-http-netty
to1.11.0
.
- Updated
azure-core
to1.19.0
. - Updated
azure-core-http-netty
to1.10.2
.
- Updated test infrastructure to remove dependency on network call recorded data.
- Updated
azure-core
to1.18.0
. - Updated
azure-core-http-netty
to1.10.1
.
- Fixed invoices and other recognition operations to avoid Null Pointer Exception when data returned with no sub-line item fields detected.
- Fixed invoices and other recognition operations that return a
FormField
withtext
and noboundingBox
orpage
information.
- This General Availability (GA) release marks the stability of the changes introduced in package versions
3.1.0-beta.1
through3.1.0-beta.3
. - Added
clientOptions()
andgetDefaultLogOptions()
methods to theFormRecognizerClientBuilder
andFormTrainingClientBuilder
. - We are able to support multiple service API versions now:
V2_0
andV2_1
. - Add more static values to
FormRecognizerLanguage
expandable string class.
- The client defaults to the latest supported service version, which currently is 2.1.
- The model
TextAppearance
now includes the propertiesstyleName
andstyleConfidence
that were part of theTextStyle
object. - Removed the model
TextStyle
. - Removed
V2_1_PREVIEW_1
andV2_1_PREVIEW_2
but only support latest service API versionV2_1
. - Removed the
pollInterval
property from all endpoints' options bag, such asRecognizeBusinessCardsOptions
, etc. Polling interval can be updated in the Azure CoreSyncPoller
orPollerFlux
's method,setPollInterval()
, synchronously and asynchronously, respectively. - Removed class type
FieldValueGender
. - Removed value
Gender
from the modelFieldValuetype
. - Renamed
ReadingOrder
model toFormReadingOrder
, and refactor the class to be expandable string class. - Renamed the method names and the method parameters, using
identity
to replaceid
keyword in the identity documents recognition API. For example, renamedbeginRecognizeIdDocuments
tobeginRecognizeIdentityDocuments
. - Renamed the method
asCountry
toasCountryRegion
. - Renamed value
COUNTRY
toCOUNTRY_REGION
in the modelFieldValuetype
. - Renamed the property
fieldBoundingBox
toboundingBox
in the classFormTable
. - Make
FormLine
,FormPage
,FormTable
,FormSelectionMark
,TextAppearance
,CustomFormModel
,CustomFormModelInfo
,CustomFormModelProperties
CustomFormSubmodel
,TrainingDocumentInfo
model class immutable.
- Updated
azure-core
from1.15.0
to1.16.0
. - Updated
azure-core-http-netty
from1.9.1
to1.9.2
. - Updated
azure-core-serializer-json-jackson
from1.2.2
to1.2.3
.
- Update dependency version,
azure-core
to1.15.0
,azure-core-http-netty
to1.9.1
andazure-identity
to1.2.5
.
- Defaults to the latest supported API version, which currently is
2.1-preview.3
. - Added property
Pages
toRecognizeReceiptsOptions
,RecognizeInvoicesOptions
,RecognizeBusinessCardsOptions
andRecognizeCustomFormOptions
to specify the page numbers to analyze. - Added support for
FormContentType
image/bmp
when analyzing custom forms. - Added support for pre-built ID documents recognition.
- Added property
ReadingOrder
toRecognizeContentOptions
to specify the order in which recognized text lines are returned.
- Update dependency version,
azure-core
to1.14.0
,azure-core-http-netty
to1.9.0
andazure-identity
to1.2.4
.
- Renamed
Appearance
,Style
andTextStyle
models toTextAppearance
,TextStyle
andTextStyleName
respectively. - Changed the type of
Locale
fromString
toFormRecognizerLocale
inRecognizeBusinessCardsOptions
,RecognizeInvoicesOptions
, andRecognizeReceiptsOptions
. - Changed the type of
Language
fromString
toFormRecognizerLanguage
inRecognizeContentOptions
.
- Update dependency version,
azure-core
to1.13.0
,azure-core-http-netty
to1.8.0
andazure-identity
to1.2.3
.
- Update dependency version,
azure-core
to1.12.0
,azure-core-http-netty
to1.7.1
andazure-identity
to1.2.2
.
- Defaults to the latest supported API version, which currently is
2.1-preview.2
.
- Added support for pre-built business card recognition.
- Added support for pre-built invoices recognition.
- Added implementation support to create a composed model from the
FormTrainingClient
by calling methodbeginCreateComposedModel
. - Added
language
toRecognizeContentOptions
for users to specify a preferred language to process the document. - Added support to
beginRecognizeContent
to recognize selection marks such as check boxes and radio buttons. - Added support to train and recognize custom forms with selection marks such as check boxes and radio buttons. This functionality is only available in trained with labels scenarios.
- When passing
includeFieldElements
as true inRecognizeCustomFormsOptions
, the propertyfieldElements
onFieldData
andFormTableCell
will also be populated with any selection marks found on the page. - Added support for providing locale info when recognizing receipts and business cards. Supported locales include support EN-US, EN-AU, EN-CA, EN-GB, EN-IN.
- Added property
Appearance
toFormLine
to indicate the style of the extracted text, for example, "handwriting" or "other". - Added support for
FormContentType
image/bmp
in recognize content and prebuilt models. - Added property
Pages
toRecognizeContentOptions
to specify the page numbers to analyze. - Added property
BoundingBox
toFormTable
. - Added properties
modelName
andcustomFormModelProperties
to typesCustomFormModel
andCustomFormModelInfo
. - Added property
modelName
toTrainingOptions
and new typeCreateComposedModelOptions
. - Added property
modelId
toCustomFormSubmodel
andTrainingDocumentInfo
. - Added properties
modelId
andformTypeConfidence
toRecognizedForm
.
- Update dependency version,
azure-core
,azure-core-http-netty
andazure-identity
.
- Update dependency version,
azure-core
to 1.9.0 andazure-core-http-netty
to 1.6.2.
- Updated dependency version,
azure-core
to 1.8.1 andazure-core-http-netty
to 1.6.1.
First stable release of the azure-ai-formrecognizer client library supporting Azure Form Recognizer service API version v2.0.
- Renamed
BoundingBox
model toFieldBoundingBox
.
This beta version targets Azure Form Recognizer service API version v2.0.
- Updated version number to 3.0.0-beta.1 from 1.0.0-beta.4.
- Added models
RecognizeCustomFormOptions
,RecognizeReceiptOptions
,RecognizeContentOptions
andTrainingOptions
to support passing configurable options to training and recognize API's. - Added support for context passing.
- Moved training client models under
com.azure.ai.formrecognizer.training.models
namespace - Renamed accessors for property
includeFieldElements
toisFieldElementsIncluded
andsetFieldElementsIncluded
- Renamed property
type
onFieldValue
model tovalueType
- Renamed property
formWords
onFormLine
model towords
- Renamed property
code
onFormRecognizerError
model toerrorCode
- Renamed accessors for property
includeSubFolders
toisSubfoldersIncluded
andsetSubfoldersIncluded
- Renamed property
trainingStatus
anddocumentErrors
onTrainingDocumentInfo
model tostatus
anderrors
respectively - Renamed property
formPageRange
onRecognizedForm
model topageRange
- Renamed model
ErrorInformation
toFormRecognizerErrorInformation
- Renamed model
OperationResult
toFormRecognizerOperationResult
- Changed param ordering for methods
beginRecognizeCustomForms
andbeginRecognizeCustomFormsFromUrl
- When using a security policy with
SecurityManager
turns on, it no longer throws the access denied error onjava.lang.reflect.ReflectPermission
. More information on #17368
beginRecognizeReceipt
APIs now return aRecognizedForm
model instead of aRecognizedReceipt
. See this suggested approach for extracting information from receipts.- Methods returning
textContent
have been renamed tofieldElements
onFieldData
andFormTableCell
- Renamed
FormContent
toFormElement
- Renamed
FieldText
toFieldData
- Renamed properties
requestedOn
totrainingStartedOn
andcompletedOn
totrainingCompletedOn
on model - Throw
HttpResponseException
instead ofErrorResponseException
to model service side exceptionsCustomFormModel
andCustomFormModelInfo
. - Changed
CopyAuthorization.getExpiresOn()
to return aOffsetDateTime
instead of along
value - Added
RecognizeOptions
to pass configurable options when using recognize APIs on FormRecognizerClient. - Changed
submodels
property onCustomFormModel
to return aList
instead ofIterableStream
- Renamed
fieldMap
property tofields
onCustomFormSubmodel
model - Renamed
elements
property on modelFormTableCell
totextContent
- Renamed
includeTextDetails
references in parameter and model properties toincludeFieldElements
- Removed
TextContentType
model and useinstanceOf
to detect the FormContent type
- Fixed
textAngle
to be returned between(-180, 180]
.
- Support to copy a custom model from one Form Recognizer resource to another
- Added support for AAD Authentication.
- Raise
FormRecognizerException
when a model withModelStatus.Invalid
is returned from thebeginTraining()
API's - Raise
FormRecognizerException
when an invalid analyze status is returned from the service for recognize API's - Add
pageNumber
property toFormPage
andFormTable
model - Add
getFormRecognizerClient()
andgetFormRecognizerAsyncClient()
in FormTrainingClient and FormTrainingAsyncClient - Add
FormTrainingClientBuilder
to buildFormTrainingAsyncClient
andFormTrainingClient
- Update FormRecognizer API calls to return a
List
instead ofIterableStream
. - Adopt the
training
namespace for Form Recognizer Training Clients - Rename enum type
DimensionUnit
toLengthUnit
onFormPage
USReceipt
,USReceiptItem
,USReceiptType
andFormField{T}
types removed. Information about aRecognizedReceipt
must now be extracted from itsRecognizedForm
.- Rename parameters data and sourceUrl parameters found on methods for FormRecognizerClient to form and formUrl, respectively.
- Rename parameters for receipt API methods to receipt and receiptUrl.
- Update FormField property
transactionTime
onUSReceipt
to returnLocalTime
instead ofString
- Rename model
PageRange
toFormPageRange
- Rename property
startPageNumber
tofirstPageNumber
andendPageNumber
tolastPageNumber
in modelPageRange
- Rename
getCustomModelInfos
tolistCustomModels
- Rename property
lastUpdatedOn
tocompletedOn
andcreatedOn
torequestedOn
inCustomFormModel
andCustomFormModelInfo
model - Rename model
CustomFormSubModel
toCustomFormSubmodel
- Rename
subModels
property on CustomFormModel tosubmodels
- Remove
pageNumber
property fromFormField
model - Rename parameter
fileSourceUrl
totrainingFilesUrl
onbeginTraining
method in FormTrainingClients - Rename parameter
useLabelFile
touseTrainingLabels
onbeginTraining
method in FormTrainingClients - Replace parameters
filePrefix
andincludeSubFolders
withTrainingFileFilter
model - Rename AccountProperties
count
andlimit
tocustomModelCount
andcustomModelLimit
- Rename
apiKey()
tocredential()
on FormRecognizerClientBuilder.
- Fix bug in FormRecognizer API's to support multipage document recognition.
- Fix Receipt type to select the valueString field via fieldValue.
This package's documentation and samples demonstrate the new API.
This package's documentation and samples demonstrate the new API.
Version 1.0.0-beta.1 is a preview of our efforts in creating a Azure Form Recognizer client library that is developer-friendly and idiomatic to the Java ecosystem. The principles that guide our efforts can be found in the Azure SDK Design Guidelines for Java.
For more information about this, and preview releases of other Azure SDK libraries, please visit https://azure.github.io/azure-sdk/releases/latest/java.html.
- It uses the Form Recognizer service
v2.0-preview.1
API. - Two client design:
FormRecognizerClient
to analyze fields/values on custom forms, receipts, and form content/layoutFormTrainingClient
to train custom models (with/without labels), and manage the custom models on your account
- Different analyze methods based on input type: file stream or URL.
- URL input should use the method with suffix
fromUrl
- Stream methods will automatically detect content-type of the input file if not provided.
- URL input should use the method with suffix
- Authentication with API key supported using
AzureKeyCredential("<api_key>")
fromcom.azure.core.credential
- All service errors use the base type:
com.azure.ai.formrecognizer.models.ErrorResponseException
- Reactive streams support using Project Reactor.
This package's documentation and samples demonstrate the new API.