- It defaults to the latest supported service version, which currently is
2.1-preview.2
.
- Added integration for ASP.NET Core.
- Added support for pre-built business card recognition.
- Added support for pre-built invoices recognition.
- Added support for providing locale information when recognizing receipts and business cards. Supported locales include EN-US, EN-AU, EN-CA, EN-GB, EN-IN.
- Added support for providing the document language in
StartRecognizeContent
when recognizing a form. - Added support to train and recognize custom forms with selection marks such as check boxes and radio buttons. This functionality is only available in train with labels scenarios.
- Added support to
StartRecognizeContent
to recognize selection marks such as check boxes and radio buttons. - Added ability to create a composed model from the
FormTrainingClient
by calling methodStartCreateComposedModel
. - Added ability to pass parameter
ModelName
toStartTraining
methods. - Added the properties
ModelName
andProperties
to typesCustomFormModel
andCustomFormModelInfo
. - Added type
CustomFormModelProperties
that includes information like if a model is a composed model. - Added property
ModelId
toCustomFormSubmodel
andTrainingDocumentInfo
. - Added properties
ModelId
andFormTypeConfidence
toRecognizedForm
. - Added property
Appearance
toFormLine
to indicate the style of the extracted text. For example, "handwriting" or "other". - Added property
BoundingBox
toFormTable
. - Added support for
ContentType
image/bmp
in recognize content and prebuilt models. - Added property
Pages
toRecognizeContentOptions
to specify the page numbers to analyze.
- First stable release of the Azure.AI.FormRecognizer package.
- Renamed the model
BoundingBox
toFieldBoundingBox
.
- Added
FormRecognizerModelFactory
static class to support mocking model types.
- Bug in TaskExtensions.EnsureCompleted method that causes it to unconditionally throw an exception in the environments with synchronization context
- The library now targets the service's v2.0 API, instead of the v2.0-preview.1 API.
- Updated version number from
1.0.0-preview.5
to3.0.0-preview.1
. - Added models
RecognizeCustomFormsOptions
,RecognizeReceiptsOptions
, andRecognizeContentOptions
instead of a genericRecognizeOptions
to support passing configurable options to recognize APIs. - Added model
TrainingOptions
to support passing configurable options to training APIs. This type now includesTrainingFileFilter
. - Renamed the
FieldValue
propertyType
toValueType
. - Renamed the
TrainingDocumentInfo
propertyDocumentName
toName
. - Renamed the
TrainingFileFilter
propertyIncludeSubFolders
toIncludeSubfolders
. - Renamed the
FormRecognizerClient.StartRecognizeCustomForms
parameterformFileStream
toform
. - Renamed the
FormRecognizerClient.StartRecognizeCustomFormsFromUri
parameterformFileUri
toformUri
. - Renamed
CustomFormModelStatus.Training
toCustomFormModelStatus.Creating
. - Renamed
FormValueType.Integer
toFormValueType.Int64
. FormField
propertyValueData
is now set to null if there is no text, bounding box or page number associated with it.
- Made the
TrainingFileFilter
constructor public. - Fixed a bug in which
FormTrainingClient.GetCustomModel
threw an exception if the model was still being created (#13813). - Fixed a bug in which the
BoundingBox
indexer andToString
method threw aNullReferenceException
if it had no points (#13971). - Fixed a bug in which a default
FieldValue
threw aNullReferenceException
ifAsString
was called. The method now returnsnull
.
- Added diagnostics functionality to the
FormRecognizerClient
, to theFormTrainingClient
and to long-running operation types.
- Property
RequestedOn
renamed toTrainingStartedOn
onCustomFormModel
andCustomFormModelInfo
. - Property
CompletedOn
renamed toTrainingCompletedOn
onCustomFormModel
andCustomFormModelInfo
. - Property
LabelText
renamed toLabelData
onFormField
. - Property
ValueText
renamed toValueData
onFormField
. - Property
TextContent
renamed toFieldElements
onFieldData
andFormTableCell
. - Parameter
formUrl
inStartRecognizeContent
has been renamed toformUri
. - Parameter
receiptUrl
inStartRecognizeReceipts
has been renamed toreceiptUri
. - Parameter
accessToken
inCopyAuthorization.FromJson
has been renamed tocopyAuthorization
. - Parameter
IncludeTextContent
inRecognizeOptions
has been renamed toIncludeFieldElements
. - Model
FieldText
renamed toFieldData
. - Model
FormContent
renamed toFormElement
.
- Property
CopyAuthorization.ExpiresOn
type is nowDateTimeOffset
. RecognizedReceipt
andRecognizedReceiptsCollection
classes removed. Receipt field values must now be obtained from aRecognizedForm
.
- Fixed a bug in which the
FormPage.TextAngle
property sometimes fell out of the (-180, 180] range (#13082).
FormRecognizerError.Code
renamed toFormRecognizerError.ErrorCode
.FormTrainingClient.GetModelInfos
renamed toFormTrainingClient.GetCustomModels
.- Property
CreatedOn
in typesCustomFormModel
andCustomFormModelInfo
renamed toRequestedOn
. - Property
LastModified
in typesCustomFormModel
andCustomFormModelInfo
renamed toCompletedOn
. - Property
Models
inCustomFormModel
renamed toSubmodels
. - Type
CustomFormSubModel
renamed toCustomFormSubmodel
. ContentType
renamed toFormContentType
.- Parameter
useLabels
inFormTrainingClient.StartTraining
renamed touseTrainingLabels
. - Parameter
trainingFiles
inFormTrainingClient.StartTraining
renamed totrainingFilesUri
. - Parameter
filter
inFormTrainingClient.StartTraining
renamed totrainingFileFilter
. - Removed
Type
suffix from allFieldValueType
values. - Parameters
formFileStream
andformFileUri
inStartRecognizeContent
have been renamed toform
andformUrl
respectively. - Parameters
receiptFileStream
andreceiptFileUri
inStartRecognizeReceipts
have been renamed toreceipt
andreceiptUrl
respectively.
FormPageRange
is now astruct
.RecognizeContentOperation
now returns aFormPageCollection
.RecognizeReceiptsOperation
now returns aRecognizedReceiptCollection
.RecognizeCustomFormsOperation
now returns aRecognizedFormCollection
.- In preparation for service-side changes,
FieldValue.AsInt32
has been replaced byFieldValue.AsInt64
, which returns along
. - Parameter
useTrainingLabels
is now required forFormTrainingClient.StartTraining
. - Protected constructors have been removed from
Operation
types, such asTrainingOperation
orRecognizeContentOperation
. USReceipt
,USReceiptItem
,USReceiptType
andFormField{T}
types removed. Information about aRecognizedReceipt
must now be extracted from itsRecognizedForm
.ReceiptLocale
removed fromRecognizedReceipt
.- An
InvalidOperationException
is now raised if trying to access theValue
property of aTrainingOperation
when a trained model is invalid. - A
RequestFailedException
is now raised if a model withstatus=="invalid"
is returned from theStartTraining
andStartTrainingAsync
methods. - A
RequestFailedException
is now raised if an operation likeStartRecognizeReceipts
orStartRecognizeContent
fails. - An
InvalidOperationException
is now raised if trying to access theValue
property of axxOperation
object when the executed operation failed. - Method
GetFormTrainingClient
has been removed fromFormRecognizerClient
andGetFormRecognizerClient
has been added toFormTrainingClient
.
FormRecognizerClient
andFormTrainingClient
support authentication with Azure Active Directory.- Support to copy a custom model from one Form Recognizer resource to another.
- Headers and query parameters that were marked as
REDACTED
in error messages and logs are now exposed by default.
- Custom form recognition without labels can now handle multipaged forms (#11881).
RecognizedForm.Pages
now only contains pages whose numbers are withinRecognizedForm.PageRange
.FieldText.TextContent
cannot benull
anymore, and it will be empty when no element is returned from the service.- Custom form recognition with labels can now parse results from forms that do not contain all of the expected labels (#11821).
FormRecognizerClient.StartRecognizeCustomFormsFromUri
now works with URIs that contain blank spaces, encoded or not (#11564).- Receipt recognition can now parse results from forms that contain blank pages.
- All of
FormRecognizerClient
'sFormRecognizerClientOptions
are now passed to the client returned byFormRecognizerClient.GetFormTrainingClient
.
This is the first preview Azure Form Recognizer client library that follows the .NET Azure SDK Design Guidelines.
This library replaces the package Microsoft.Azure.CognitiveServices.FormRecognizer
.
This package's documentation and samples demonstrate the new API.
- This library supports only the Form Recognizer Service v2.0-preview API
- The namespace/package name for Azure Form Recognizer client library has changed from
Microsoft.Azure.CognitiveServices.FormRecognizer
toAzure.AI.FormRecognizer
- Two client design:
FormRecognizerClient
to recognize and extract fields/values on custom forms, receipts, and form content/layout.FormTrainingClient
to train custom models, and manage the custom models on your resource account.
- Different recognize methods based on input type: file stream or URI.
- File stream methods will automatically detect content-type of the input file.