アクティビティ
最新
バナーの背景画像
Document Understanding アクティビティ
最終更新日 2024 年 4 月 10 日

FlexiCapture スコープを使用したドキュメント処理

以下の例では、Abbyy パッケージを使用し、それを UiPath ワークフローと連携する方法について説明します。ここでは、ファイルが収集、分類、処理、および検証されます。すべての手順が確認されると、最終出力を含む .xlsx ファイルが作成されます。[ドキュメントを検証][FlexiCapture スコープ][フィールドを取得][表を取得][ドキュメントを分類] などのアクティビティが使用されています。これらのアクティビティは、UiPath.Abbyy.Activities パッケージに含まれています。

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。プロセスの既定の名前は Main です。
  2. ワークフロー デザイナー[シーケンス] コンテナーをドラッグして、次の変数を作成します。

    変数名

    変数の型

    既定値

    filePaths

    System.String[]

     

    data

    データ テーブル

     

    i

    int32

     

    table

    データ テーブル

     
  3. [シーケンス] コンテナー内に [代入] アクティビティをドラッグします。

    • [左辺値 (To)/宛先] フィールドに変数 filePaths を追加します。
    • 式 .directory.GetFiles(in_ImagesFolderPath)[右辺値 (Value)] フィールドに追加します。
  4. [代入] アクティビティの下に [データ テーブルを構築] アクティビティを追加します。

    • [プロパティ] パネルで、変数 data を [データ テーブル]
    • [DataTable] ボタンをクリックして、表の列を定義します。
    • [列の追加] ボタンをクリックします。新しいウィンドウで、[列名] フィールドで列の名前を追加します。
    • [データ型] ドロップダウン リストから、String 値を選択します。
    • [null を許可] オプションのチェック ボックスを選択します。これにより、この列に Null 値を追加できます。
    • すべての列が追加されたら、[OK] ボタンを選択して、ウィンドウを閉じます。
    • データ テーブルは次のようになります。



  5. [データ テーブルを構築] アクティビティの下に [繰り返し (コレクションの各要素)] アクティビティをドラッグします。

    • [Item] フィールドで名前 file を追加します。
    • [プロパティ] パネルで [値] フィールドに変数 filePaths を追加し、[インデックス] フィールドに変数 i を追加します。
    • TypeArgument ドロップダウン リストから String オプションを選択します。
  6. [繰り返し (コレクションの各要素)] アクティビティの本体に [FlexiCapture スコープ] アクティビティを追加します。

    • アクティビティの本体から Do シーケンスを選択し、次の変数を作成します。

      変数名

      変数の型

      既定値

      classification

      文字列

       

      document

      UiPath.Abbyy.Core.FlexiCapture.FCDocument

       

      field

      UiPath.Abbyy.Core.FlexiCapture.FCField

       
  7. Do コンテナー内に [データ行を追加] アクティビティをドラッグします。

    • [プロパティ] パネルで、[列配列]フィールドに式 {} を、[データ テーブル] フィールドに変数 data を追加します。
  8. [代入] アクティビティを、[データ行を追加] アクティビティの下に配置します。

    • [To] フィールドに式 data.Rows(i)("FileName") を追加し、[Value] フィールドに名前 file を追加します。
  9. [代入] アクティビティの下に [ドキュメントを分類] アクティビティをドラッグします。

    • [DefinitionFiles] フィールドに式 {in_FCDotFilePath} を挿入します。
    • [SourceDocument] フィールドに値 file を追加します。
    • Result (値) フィールドに変数 classification を追加します。
  10. [代入] アクティビティをドラッグします。

    • [To] フィールドに式 data.Rows(i)("Classification") を追加し、[Value] フィールドに変数 classification を追加します。
  11. [代入] アクティビティの下に [ドキュメントを処理] アクティビティを配置します。

    • [DefinitionFiles] フィールドに式 {in_FCDotFilePath} を追加します。
    • [Document] フィールドに値 file を追加します。
    • Result (値) フィールドに変数 document を追加します。
  12. [ドキュメントを処理] アクティビティの下に [ドキュメントを検証] アクティビティを配置します。

    • [Document] フィールドに変数 document を追加します。
    • Result (値) フィールドに変数 document を追加します。
  13. [シーケンス] コンテナーをドラッグし、Company Name という名前を付けます。
  14. [Company Name] シーケンス内に [フィールドを取得] アクティビティをドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "CompanyName" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  15. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Company Name") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  16. [Do] コンテナーに戻り、[Company Name] コンテナーの下に新しい [シーケンス] アクティビティをドラッグします。

    • 新しいシーケンスに Customer Number と名前を付けます。
  17. [Customer Number] シーケンス内に [フィールドを取得] アクティビティをドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "CustomerNumber" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  18. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Customer Number") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  19. [Do] コンテナーに戻り、[Customer Number] コンテナーの下に新しい [シーケンス] アクティビティをドラッグします。

    • 新しいシーケンスに Email と名前を付けます。
  20. [Email] シーケンス内に [フィールドを取得] アクティビティドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "Email" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  21. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Email") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  22. [Do] コンテナーに戻り、[Email] コンテナーの下に新しい [シーケンス] アクティビティをドラッグします。

    • 新しいシーケンスに Date と名前を付けます。
  23. [Date] シーケンス内に [フィールドを取得] アクティビティをドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "Date" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  24. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Date") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  25. [Do] コンテナーに戻り、[Date] コンテナーの下に新しい [シーケンス] アクティビティをドラッグします。

    • 新しいシーケンスに Delivery Address と名前を付けます。
  26. [Delivery Address] シーケンス内に [フィールドを取得] アクティビティドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "DeliveryAddress" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  27. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Delivery Address") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  28. [Do] コンテナーに戻り、[Delivery Address] コンテナーの下に新しい [シーケンス] アクティビティをドラッグします。

    • 新しいシーケンスに Billing Address と名前を付けます。
  29. [Billing Address] シーケンス内に [フィールドを取得] アクティビティドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "BillingAddress" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  30. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Billing Address") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  31. [Do] コンテナーに戻り、[Billing Address] コンテナーの下に新しい [シーケンス] アクティビティをドラッグします。

    • 新しいシーケンスに Invoice Number と名前を付けます。
  32. [Invoice Number] シーケンス内に [フィールドを取得] アクティビティをドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "InvoiceNumber" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  33. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Invoice Number") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  34. Do コンテナーに戻り、[Invoice Number] コンテナーの下に新しい [シーケンス] アクティビティをドラッグします。

    • 新しいシーケンスに Total CHF と名前を付けます。
  35. [Total CHF] シーケンス内に [フィールドを取得] アクティビティをドラッグします。

    • [プロパティ] パネルの [ドキュメント] フィールドに変数 document を追加します。
    • [Name] フィールドに式 "TotalCHF" を追加します。
    • Result (値) フィールドに変数 field を追加します。
  36. [フィールドを取得] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)] フィールドに変数 data.Rows(i)("Total CHF") を、[右辺値 (Value)] フィールドに式 field.Value を追加します。


  37. メインの[シーケンス] コンテナーに戻ります。
  38. [繰り返し (コレクションの各要素)] アクティビティの下に Excel の [範囲に書き込み] アクティビティをドラッグします。

    • [プロパティ] パネルで [シート名] フィールドに値 "Sheet1" を追加します。
    • [開始セル] フィールドに値 "A1" を追加します。
    • [データ テーブル] フィールドに変数 data を追加します。
    • [ブック パス] フィールドに式 "OCR_Results.xlsx" を追加します。
    • 表の最初の行をヘッダーとみなすために [ヘッダーを追加] チェック ボックスを選択します。
  39. [範囲に書き込み] アクティビティの下に [FlexiCapture スコープ] アクティビティをドラッグし、次の変数を作成します。

    変数名

    変数の型

    既定値

    doc

    UiPath.IntelligentOCR.FC.FCDocument

     
  40. [Intelligent OCR スコープ] アクティビティを [ドキュメントを処理] アクティビティの [Do] コンテナー内に配置します。

    • [DefinitionFiles] フィールドに式 {in_FCDotFilePath} を追加します。
    • [Document] フィールドに式 filePaths(0) を追加します。
    • Result (値) フィールドに変数 doc を追加します。
  41. [ドキュメントを処理] アクティビティの下に [表を取得] アクティビティをドラッグします。

    • [Document] フィールドに変数 doc を追加します。
    • [Name] フィールドに式 "LineItems" を追加します。
    • Result (値) フィールドに変数 table を追加します。
  42. [Intelligent OCR スコープ] アクティビティの下に [範囲に書き込み] アクティビティをドラッグします。

    • [プロパティ] パネルで [シート名] フィールドに値 "Table Example" を追加します。
    • [開始セル] フィールドに値 "A1" を追加します。
    • [データ テーブル] フィールドに変数 table を追加します。
    • [ブック パス] フィールドにパス "OCR_Results.xlsx" を追加します。
    • 表の最初の行をヘッダーとみなすために [ヘッダーを追加] チェック ボックスを選択します。
  43. ワークフローを実行します。オートメーション プロセスにより、すべての分類、処理、および検証されたデータを含む新しいブックが作成されます。

こちらからサンプルをダウンロードできます。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.