はじめに
先日Power AppsでForm Recognizerの機能を活用することができるForm Recognizer Connectorに、Analyze Document for Prebuilt or Custom models (v3.0 API)が追加されていました。
カスタムコネクタ(プレミアムライセンス)を使用せずにForm Recognizer v3.0の機能をPower Appsで利用可能になったので、実装方法を記事にまとめました。
実装に必要なリソース
- Cognitive Services または Form Recognizer リソース(Azure)
- Azure Storage Account(Azure) ※カスタムモデルを利用する場合
実装方法
- コネクタの作成
- アプリの作成
- 1で作成したコネクタを使った処理を作成
コネクタの作成
Dataverse > 接続 > 新しい接続 Form Recognizerを選択しコネクタを作成します。
Account KeyとEndpoint URLはAzure Portalから事前に作成したForm Recognizerリソースの値を取得します。
アプリの作成
アプリ > 新しいアプリ からアプリを作成します。
コネクタを使った処理を作成
今回はPower Automateを使いForm Recognizerコネクタを使ったドキュメント分析を行います。
Flowの作成
Power Appsを開き、左のPower Automateのアイコン > フローの追加 > フローを新規作成する > 一から作成 の順に選択しフローの作成を開始します。
フローには以下のものを追加します。
- 作成 → base64の画像データをbinaryへ変更
- Form Recognizer → Analyze Document for Prebuilt or Custom models (v3.0 API)でドキュメントを分析(※ドキュメントのURLを使う場合は、1の「作成」手順は行わずinputFileUrlのパラメーターへURLを入力するように設定します。)
- PowerApp または Flowへ応答する → Power Appsへ分析結果を応答
Form Recognizerのコネクタに関して詳しくは以下のリンクから確認可能です。
Form Recognizer - Connectors | Microsoft Learn
Power Appsへ配置
作成したFlowを実行するためのコンポーネントを配置します。
()の名称は各コンポーネントを指定する際に使用します。
- prebuild_models:Form Recognizerで利用するモデルを選択します。Prebuildやカスタムモデルのidを設定します。
- fileUpload_1:ファイルをアップロードするためのコンポーネントです。実装方法はPower Apps Easiest Way To Upload Files To A SharePoint Document Libraryで確認できます。
- Gallery1:アップロードしたドキュメントや画像の情報を表示します。このコンポーネントの画像からbase64の文字列を作成します。詳細設定からItemsをfileUpload_1.Attachmentsに設定し、Gallery内のImageにThisItem.Valueを設定します。※PDFをアップロードした場合、画像は表示されませんがbase64への変換は問題なく実行されます。
- button:Gallery1の画像をbase64文字列へ変換、Form Recognizerを含むFlowを実行しcontentResultsという名前のCollectionを作成します。OnActionを次の値へ設定します(Flow名は上の手順で作成したFlowの名称に置き換えてください)。
ClearCollect( base64Collection, ShowColumns( AddColumns( Gallery1.AllItems, "data", Last(Split(Substitute( JSON( Image1.Image, IncludeBinaryData ), """", "" ),",")).Result ), "Name", "data" ) ); ClearCollect(contentResults,ForAll(base64Collection,'<Flow名>'.Run(prebuild_models.SelectedText.Value,ThisRecord.data)));
- Gallery:分析結果を表示します。分析を行う前は空欄が表示されます。詳細設定からItemsはcontentResultsに設定します。Galleryにラベルを配置しTextの値をThisItem.resultへ設定します。
分析結果の出力(応用)
Power AppsではForm Recognizerのカスタムモデルでのドキュメント分析結果を変形しSharePointのフォルダなどへCSVファイルとして出力することが可能です。
詳しい分析結果の処理内容は割愛しますが、各フィールドに対応した読み取り結果をCSVファイルとして指定したSharePointフォルダへ作成します。
※ドキュメントの読み取り内容は公開のため、数値などを変更しております。