オラ!
最近本業が忙しくて更新していなかったですが息抜きに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に(スクショしただけ)
おおおお。見えてる罫線をベースにセルがぴったり。
やりたいことに応じて食わせるデータを変えたりしたらいいのかもしれない。なるほどね。便利です。
今日はここまで。アディオス!