AI Builder is a Power Platform capability that provides you the AI models to take leverage of artificial intelligence to optimize your business as well as automate processes. We can either use the already existing prebuilt models that suit our needs to use the Power of AI in Power Apps or Power Automate or create our own custom AI models to suit some specific business needs. You can read more about AI Models in the Official documentation here. The out of the box prebuilt available models in AI Builder are:
- Business card reader
- Category classification
- Entity extraction
- ID reader
- Invoice Processing
- Key phrase extraction
- Language detection
- Receipt processing
- Sentiment analysis
- Text recognition
- Text translation
In earlier days if we wanted to use any of these models, we had to call Power Automate and add the AI Builder actions to leverage the Cognitive abilities. However, more and more AI Builder capabilities are coming natively to Power App so that we can add them as controls to the App and directly interact with the AI Models based on our needs.
In this article, we will see how we can make use of the Text Recognizer within Power App without the use of Power Automate
We have a requirement where we need to automate the archival of old back-office documents by extracting the document content and storing it in a back end so that they become available for Content Search within the system. For this requirement, we will create a Power App to accept the needed manual records inputs and use the Text Recognizer to automatically extract the scanned document contents and save them in a SharePoint List.
So as to implement this requirement, we will create a SharePoint List named back Office Archival with Text columns (Department, Sub Unit, Record Type, and Year) and Multi-Line Rich Text Column(Extracted Document Data)
Let’s now head over to make.powerapps.com where we will create a Canvas app and add the below controls
Here, Text Recognizer and HTML Text form the main core controls that help us do the Cognitive Data Extraction and Storage of extracted data respectively.
As part of implementing the data extraction, we will add the below expression to the OnChange of the Text Recognizer control so that whenever a new document scanned copy is uploaded to the control, it analyses the text and the returned results from the <ControlName>.Results.Text property is copied to a Collection using the ClearCollect method
Now that the extracted data is present in the Collection, let’s have a look at how the data is present in it from View->Collections
We can see that the data is extracted line by line and stored as records in the table.
So as to combine them as a single paragraph, we will use the Concat function and use the Line break to make it a full formatted HTML text that will go into the HTML control. We will add the below expression to the HTMLText property of the HTML text control
We have already created a Data Connection to the SharePoint List. Finally, let’s save the Manually entered data in the top Text input controls as well the HTML Text Control to the SharePoint back end using the Patch method with the below expression
Now let’s test the app by uploading a Document and see the Text Recognizer in action.
As we can see it has extracted the data and concatenated it into an HTML text which is fed into the HTML Text control and eventually we have successfully saved it to the SharePoint List as well.
Thus, we saw how we can use the AI Builder Text Recognizer models within Power App even without the use of Power Automate to extract data from an Image.