オラ!

 

最近本業が忙しくて更新していなかったですが息抜きにAzure Form Recognizerを使ってみたのでメモ。

 

まず

using Azure;

using Azure.AI.FormRecognizer.DocumentAnalysis;

 

nugetからはAzure.AI.FormRecognizer。VisualStudioでnuget。プレビューを有効にしないと出てこないかも。

 

Form Recognizer Studioってのがあってなんとなくお試しできる。カスタムの設定もこのStudioからできる模様。

試している状態は画面右上からCodeを選ぶとPython / JavaScript / C#のサンプルコードが出てくる。

 

けど、このサンプル。ちょっとサンプルがおかしい。古いAPIの記載があるのでちょっと直さないと動かないかも。

 

適当なファイルをStreamで食わせると結果が出てくる。便利な世の中ですね。

 

            string endpoint = "エンドポイント";
            string key = ”キー”;

            AzureKeyCredential credential = new AzureKeyCredential(key);
            DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);
 

それから

 

            using var stream = new FileStream(strPNG, FileMode.Open);

            AnalyzeDocumentOperation operation = await client.AnalyzeDocumentAsync(WaitUntil.Completed, "prebuilt-layout", stream);
            AnalyzeResult result = operation.Value;

 

で終わり。結果の解析はさっきのStudioが出してくるサンプルコード見ながらごにょごにょと。

 

今回Layoutってモデルを使ったんだけど、PDFの表をCSVにしたかった。PDFファイルを食わせるとセルがずれる。

ああああ。PDFを作るときの表に”罫線なし”ね。

実際見える罫線を判定してセルにしているのではなく、PDFの中を解析している模様。

 

じゃ!とPDFをJPGに(スクショしただけ)

おおおお。見えてる罫線をベースにセルがぴったり。

 

やりたいことに応じて食わせるデータを変えたりしたらいいのかもしれない。なるほどね。便利です。

 

今日はここまで。アディオス!