系統需求
- Windows 10
- Windows Server 2016
- Windows Server 2019
此連接器無法在執行 Windows Server 2012 R2、Windows 8.1 或更舊版作業系統的電腦上運作。
- ABBYY Vantage 2.3.2 或更新版本
- UiPath Enterprise Edition 2023.8.0
- Community Edition 2023.4.4 或更新版本
- Microsoft .NET Framework 4.8.1
- Microsoft .NET 8
我們建議您將 Windows-legacy 專案轉換為 Windows 相容性,因為已不再支援舊版相容性。如需瞭解如何將 Windows-legacy 專案轉換為
Windows,請參閱 將 Windows-legacy 專案轉換為 Windows。
安裝連接器
-
執行
ABBYYVantageConnectorForUiPath.<version>.exe,然後依照安裝精靈中的指示操作。安裝期間,請指定連接器的安裝資料夾。預設路徑為C:\Program Files\ABBYY Vantage Connector for UiPath。 - 在 UiPath Studio 中,開啟現有專案或建立新專案。
-
在功能區的 Design 索引標籤上,按一下 Manage Packages:

-
請確認 nuget.org 套件來源已啟用。安裝連接器套件的部分相依套件時需要此套件來源。
如果您已設定好要使用的套件來源,請跳過步驟 5。
-
前往 Manage Packages 視窗中的 Settings 索引標籤,然後建立新的套件來源:
a. 輸入新套件來源的名稱。
b. 指定您要放置連接器 NuGet 套件之資料夾的路徑。
c. 按一下 Add 以確認設定。
新的套件來源會顯示在 User defined package sources 區域,以及 Manage Packages 視窗左側窗格中。

-
將適用於 UiPath 的 ABBYY Vantage 連接器的所有 NuGet 套件,從安裝資料夾複製到您的套件來源資料夾。NuGet 套件位於步驟 1 中建立之安裝資料夾的 UiPath Activities 子資料夾中 (預設位置為
C:\Program Files\ABBYY Vantage Connector for UiPath\UiPath Activities) 。 將連接器的 NuGet 套件新增至可用的套件來源後,您就可以將連接器套件安裝為專案相依性。 -
在 Manage Packages 視窗中,前往 All Packages 區段並執行下列操作:
a. 按一下新建立的套件來源類別。
b. 從可用套件清單中選取 Abbyy.UiPath.Vantage.Activities,然後按一下 Install。License Acceptance 視窗會顯示您所安裝各個第三方套件的授權條款。
c. 按一下 View License 以閱讀授權條款。
d. 按一下 I Accept 以同意授權條款並安裝套件。最後,按一下 Save。

-
安裝完成後,Vantage 活動會顯示在您專案可用活動清單的 ABBYY Vantage 區段中:
如需安裝套件的詳細說明,請參閱 UiPath Studio Guide。
將 Windows-legacy 專案轉換為 Windows
- 在 UiPath Studio 中,開啟 Windows-legacy 專案。
- 按一下功能區下方顯示訊息中的 Convert to Windows 連結。


-
指定要如何將 Windows-legacy 專案轉換為 Windows:
- 若要以 Windows 相容性建立目前專案的副本,並保留原始的 Windows-legacy 專案,請選取 Create a new project。輸入專案名稱、所需位置,以及新專案的說明 (選填) 。
- 若要更新現有專案並將其轉換為 Windows 相容性,請清除 Create a new project 選項。若清除此選項,將無法復原對專案所做的變更。
- 按一下 Convert。如需將 Windows-legacy 專案轉換為 Windows 相容性的詳細資訊,請參閱 UiPath Studio Guide。
在 UiPath 工作流程中使用 ABBYY Vantage 活動
Vantage Scope Activity
Vantage Scope 活動可讓您使用 Resource Owner Password Credentials Flow 和 Client Credentials Flow 來設定驗證。如果您在 Vantage 中設定了 External Identity Provider,則
唯一可用的驗證流程將是 Client Credentials Flow。
活動屬性
| 群組 | 屬性 | 型別 | 說明 |
|---|---|---|---|
| 連線設定 | 授權授予類型 | IEnumerable<AuthorizationGrantType> | 用於授權的授予類型:ResourceOwnerPassword 或 ClientCredentials |
| 連線設定 | 密碼 | String | 用於連線至 ABBYY Vantage 的密碼。 |
| 連線設定 | 安全密碼 | SecureString | 用於連線至 ABBYY Vantage 的安全密碼。 |
| 連線設定 | 伺服器 URL | String | ABBYY Vantage 伺服器位址。 |
| 連線設定 | Tenant | String | ABBYY Vantage tenant 名稱或 tenant 識別碼。**重要!**只有當用來連線至 ABBYY Vantage 伺服器的使用者認證所對應的使用者,在伺服器上的多個 (超過一個) tenant 中註冊時,才需要此屬性。輸入密碼時,可在瀏覽器中的 Vantage 登入頁面找到 tenant 名稱。 |
| 連線設定 | 使用者名稱 | String | 用於連線至 ABBYY Vantage 的使用者電子郵件地址。 |
| Proxy 設定 (選用) | 啟用 Proxy | Boolean | 允許您使用代理伺服器來路由 HTTP 要求。 |
| Proxy 設定 (選用) | 伺服器 URL | String | 代理伺服器位址 (例如 http://127.0.0.1:8080) 。 |
| Proxy 設定 (選用) | 使用者名稱 | String | 用於連線至代理伺服器的使用者名稱。 |
| Proxy 設定 (選用) | 密碼 | String | 用於連線至代理伺服器的密碼。 |
| Proxy 設定 (選用) | 安全密碼 | SecureString | 用於連線至代理伺服器的安全密碼。 |
| Vantage Public API Client 設定 (選用) | Client Id | String | Vantage 應用程式識別碼。 |
| Vantage Public API Client 設定 (選用) | Client Secret | String | 安全的 Vantage 應用程式金鑰。 |
| Vantage Public API Client 設定 (選用) | Secure Client Secret | SecureString | 以安全字串形式儲存的 Vantage 應用程式金鑰。 |
SecureString 型別參數。
String 型別的密碼會以純文字形式儲存在 XAML 專案檔中,因此並不安全。建議僅在設定 Use Skill 和 Map Fields 活動以取得技能清單,或在對 UiPath 處理序進行偵錯時使用 String 密碼。當處理序已完成完整設定後:
- 如果您使用 Resource Owner Password Credentials Flow,請從 Vantage Scope 活動中移除 Password 屬性,並設定 Secure Password 屬性。
- 如果您使用 Client Credentials Flow,請從 Vantage Scope 活動中移除 Client Secret 屬性,並設定 Secure Client Secret 屬性。
Connection Settings、Proxy Settings 和 Client Settings 必須使用相同型別的密碼。
-
Resource Owner Password Credentials Flow:
- 啟用 Allow Resource Owner Password Credentials Flow 選項。
-
Client Credentials Flow:
- 啟用 Allow issuing refresh tokens to refresh access tokens 選項。
- 啟用 Allow client credentials flow 選項。
- 按一下 Manage Roles 設定,選取應用程式登入 Vantage 時所需使用的角色。

如果 Vantage Public API 客戶端設定中的所有屬性都留空,則會使用預設的 ABBYY Vantage 客戶端。

Proxy 設定
"true",然後在 Server URL 屬性中指定代理伺服器的位址。
如果您使用 Basic 驗證,請在 Username 和 Password / Secure Password 屬性中指定代理連線認證。
如果您使用 NTLM 驗證,則 Username 和 Password 欄位為選填。若 Username 和 Password 欄位為空白,將使用執行 UiPath 處理序的使用者認證。
使用技能活動
活動屬性
| 群組 | 屬性 | 型別 | 說明 |
|---|---|---|---|
| 連線設定 | skill 名稱 | String | Vantage skill 的名稱。 |
| 輸入 | 輸入檔案 | IReadOnlyDictionary<String,InputFile> | Dictionary 集合,其中 String 為檔案名稱,InputFile 為描述輸入檔案的類別。**注意:**將檔案新增至字典前,必須確保傳遞至 String 參數的值不重複。對於在 String 參數中傳遞相同名稱的檔案,您無法將多個檔案新增至 Input Files 字典。 |
| 輸入 | 交易註冊參數 | IReadOnlyDictionary<String,String> | 用於傳遞各參數索引鍵和值的交易註冊參數 Dictionary 集合。 |
| 輸出 | 交易 ID | Guid | 已建立交易的識別碼。之後會使用此 ID 作為 Get Results 活動中的 Transaction Id 輸入屬性,以取得交易狀態和處理結果。 |
| 名稱 | 型別 | 說明 |
|---|---|---|
| fileStream | Stream | 將傳遞至 ABBYY Vantage 的檔案內容。您可以將本機磁碟上檔案的資料流作為此屬性的值傳遞 (例如 System.IO.File.OpenRead("D:\images\Invoice1.pdf")) 。 |
| index (選用) | Integer | 檔案在交易中的索引編號。 |
| fileRegistrationParameters (選用) | IReadOnlyDictionary<String,String> | 用於傳遞各參數索引鍵和值的檔案註冊參數 Dictionary 集合。 |
- Resource Owner Password Credentials Flow — 指定 Vantage Scope 活動的 Password 屬性,以取得可用 skill 清單。完成 UiPath 工作流程設定後,建議將 Password 屬性改為 Secure Password。
- Client Credentials Flow — 指定 Vantage Scope 活動的 Client Secret 屬性,以取得可用 skill 清單。完成 UiPath 工作流程設定後,建議將 Client Secret 屬性改為 Secure Client Secret。

我們建議將大型檔案縮減至 30 MB 或以下,以加快文件處理速度。
在 Use Skill 活動的 Skill Name 參數中,您可以使用
String 型別的 UiPath 變數來儲存 skill 名稱。當您透過設計面板中
該活動的下拉式清單選取 skill 時,新選取的 skill 會寫入指定的變數。您也可以直接將 skill 名稱儲存在該變數中。目前尚不支援在變數值中使用運算式或參照其他
變數。取得結果活動
活動屬性
| 群組 | 屬性 | 型別 | 說明 |
|---|---|---|---|
| 輸入 | Transaction Id | Guid | 交易的識別碼。請將 Use Skill 活動之輸出屬性 Transaction Id 取得的值傳入此屬性。 |
| 輸入 | Delete Transaction | Boolean | 指定是否要刪除已完成的交易,不論其是否成功。預設值為 FALSE,表示不會刪除該交易。 |
| 輸出 | Document Results | IEnumerable<DocumentResult> | 處理後產生的結果文件集合。 |
| 輸出 | Review Link | String | 指向 ABBYY Vantage 手動審核客戶端的連結,可在其中檢閱交易結果 (只有在所使用的流程skill包含 Review 活動時,才能取得此連結) 。 |
| 輸出 | Transaction Status | TransactionStatus | 交易狀態。可能的狀態如下:"New"、"Processing"、"Review"、"Processed"。您可以根據收到的狀態,設定 UiPath 流程執行不同的邏輯。例如,如果交易狀態為 "Processing",請等待幾秒後再次呼叫此活動。 |
DocumentResult 類別實例集合的形式,接收該交易中所有文件的處理結果。
DocumentResult 類別屬性:
| 名稱 | 型別 | 說明 |
|---|---|---|
| DocumentId | String | 文件的識別碼。 |
| ClassificationConfidences | IEnumerable<ClassificationConfidence> | 分類信賴度值的集合。列出套用至該文件的分類skill中所有可用類別,以及各自對應的分類信賴度值。 |
| ClassName | String | 根據分類結果判定的文件類別。 |
| ExtractedData | String | 包含擷取資料的 JSON 字串。**注意:**對於流程skill,只有在 Output Activity 中啟用 Values, metadata, and field structure for each document 選項時,才能取得此屬性。 |
| IsClassificationConfident | Boolean | 若此值為 TRUE,表示結果類別已被視為具有足夠信心地判定。 |
| ResultFiles | IReadOnlyDictionary<String,Stream> | 處理後產生的結果檔案集合。 |
| DocumentFullText | String | ABBYY Vantage 擷取之文件的全文文字層。**注意:**如果 skill 組態未包含全文匯出設定,則此屬性將包含以下預設值:TXT export was not configured in the ABBYY Vantage skill settings. Please enable TXT export in the skill that you have selected. TXT 匯出僅適用於 OCR 或 Processing skill。 |
所有列出的參數都會分別收集到 Document Results 集合中的個別
DocumentResult。即使只有一份輸出文件,其輸出參數也可從
Document Results 集合中的第一個 DocumentResult 取得。| 名稱 | 型別 | 說明 |
|---|---|---|
| ClassName | String | Vantage 文件類別。 |
| Confidence | Int | 文件屬於此類別的信賴程度。可能值範圍為 0 到 100。 |
"Processed") ,結果將儲存在輸出屬性中。
如果交易仍在處理中 (即 Transaction Status = "New" / "Processing") ,請等待幾秒後再次呼叫 Get Results 活動。
Transaction Status = "Review" 的特殊情況將於下文說明。
Get Results 活動可取得的結果,會依套用至文件的 skill 而有所不同:
-
分類skill (例如 Vantage Classifier) :
- 交易狀態
- 文件結果 (針對每個
DocumentResult) :DocumentId、ClassificationConfidences、ClassName、IsClassificationConfident、ResultFiles(包含分類結果資料的 JSON 檔案)
-
文件 skill (例如 Invoice US) :
- 交易狀態
- 文件結果 (針對每個
DocumentResult) :DocumentId、ExtractedData、ResultFiles(結果會包含在兩個 JSON 檔案中——第一個包含所有文件資料,第二個包含擷取欄位值和規則錯誤,檔名以_fields.json結尾)
-
OCR skill:
- 交易狀態
- 文件結果 (針對每個
DocumentResult) :DocumentId、ResultFiles(將收到在 OCR skill 中設定為匯出的檔案) 、DocumentFullText(如果 skill 中已啟用匯出為 TXT)
-
流程skill:
如果流程skill包含 Classify 活動和 Extract 活動,則會同時取得上述分類skill和文件 skill 的結果。
如果流程skill包含多個 Classify 或 Extract 活動,則會取得特定類型中最後一個活動的結果。
如果在流程skill某個 Output 活動的 Exported Data Settings 對話方塊中啟用 PDF 選項,結果將包含含有擷取結果的 JSON 檔案,以及連同文字層一起匯出為 PDF 檔案的文件影像。對於每個交易文件,如果 skill 中已啟用匯出為 TXT,也會收到
DocumentFullText參數。 流程skill也可以包含 Review 活動。使用這類 skill 進行文件處理時,如果文件需要手動審核,處理可能會暫停。在此情況下,Get Results 活動將取得下列結果:- 交易狀態 =
"Review" - 審核連結
- 交易狀態 =
Map Fields 活動
活動屬性
| 群組 | 屬性 | 型別 | 說明 |
|---|---|---|---|
| Connection Settings | Skill Name | String | Vantage 文件 Skill 的名稱。 |
| Input | Extracted Data | String | 接受包含擷取資料的 JSON 字串。請將在 Get Results 活動中收到之特定 DocumentResult 的 ExtractedData 屬性值傳遞給此屬性。若要在屬性之間傳遞值,請使用 UiPath 變數。 |
- Resource Owner Password Credentials Flow — 指定 Vantage Scope 活動的 Password 屬性,以取得可用技能清單。完成 UiPath 工作流程設定後,建議將 Password 屬性改為 Secure Password。
- Client Credentials Flow — 指定 Vantage Scope 活動的 Client Secret 屬性,以取得可用技能清單。完成 UiPath 工作流程設定後,建議將 Client Secret 屬性改為 Secure Client Secret。
在執行階段,Map Fields 活動的 Extracted Data 屬性必須接收在 Get Results
活動中收到之特定
DocumentResult 的 ExtractedData 屬性值,而該 DocumentResult 必須包含已為其設定 Map Fields 活動之文件 Skill 所擷取的資料。接收到擷取資料後,請檢查套用至該文件的文件 Skill 名稱
是否與已為其設定 Map Fields 活動的文件 Skill 名稱相同;若相同,則將擷取資料傳遞給 Map Fields。若要取得文件
類型,您可以使用在 Get Results 活動中收到之特定 DocumentResult 的輸出 ClassName 屬性。若要將文件類型傳入此參數,請在
流程技能的 Extract 活動中,設定類別與必須用於文件處理的文件 Skill 之間的對應。進行對應時,必須符合下列條件:該類別
名稱必須等於所選文件 Skill 的名稱。- 在 Designer 面板中開啟 Map Fields 活動,然後按一下 Skill Name 下方下拉式清單右側的按鈕,以取得可用技能清單。
-
展開 Skill Name 下拉式清單,並選取要將其擷取欄位值儲存至 UiPath 變數的文件 Skill。
您只能選擇文件 Skill。
- 按一下 Refresh 按鈕。Vantage Extracted Field 欄中將顯示欄位樹狀結構。
-
展開樹狀結構,然後按一下您要對應之欄位旁的 Plus 按鈕。在 UiPath Variable 欄中,將顯示 UiPath 變數名稱和型別。預設情況下,變數名稱會與 Vantage 欄位名稱相同,但您可視需要變更此名稱。
請確保在 Map Fields 活動中指定的 UiPath 變數名稱符合您在 UiPath 處理序中設定的 Variables Naming Convention。若變數名稱未遵循命名 規則,則會在 UiPath 變數清單中以警告符號顯示。如需更多關於 Variables Naming Convention 的資訊,請參閱 UiPath documentation。

- 針對您需要對應的所有其他欄位,重複上一個步驟。設定對應時,您可以指定已存在的 UiPath 變數。在此情況下,請確保您的變數型別與下表建議的型別相符。
- 將文件欄位對應至 UiPath 變數後,按一下 Apply 以儲存變更。現在,當 Map Fields 活動在執行階段被呼叫時,系統會以擷取的資料填入變數值。
指定的 UiPath 變數會建立在最接近 Map Fields 活動的 Sequence 中 (例如在 Flowchart 中) 。
String 型別的 UiPath 變數來儲存 skill 名稱。當您在設計面板上透過活動的下拉式清單選取 skill 時,新選取的 skill 名稱會寫入指定的變數。您也可以直接將 skill 名稱儲存在變數中。目前尚不支援在變數值中使用運算式或參照其他變數。
下表顯示各 ABBYY Vantage 欄位型別對應的 UiPath 變數型別:
| ABBYY Vantage 欄位型別 | UiPath 變數型別 |
|---|---|
| Text | String |
| Date | String |
| Number | String |
| Money | String |
| Barcode | String |
| Checkmark | Boolean |
| Checkmark group (can be obtained as separated checkmarks) | FieldList |
| Group | FieldList |
| Group (for repeatable groups) | FieldList[] |
| Table | FieldList[] |
資料表欄與重複欄位都會對應至
String[] 型別的 UiPath 變數。所有重複欄位,以及屬於可重複群組一部分的欄位 (或可重複群組內的任何其他重複欄位
和可重複群組) ,都會對應至 FieldList[] 型別的 UiPath 變數。您也可以將此群組的子物件對應至其他簡單型別的變數。
GroupItem 是一種結構,包含某個重複物件 (欄位或欄位群組) 的一個實例。
| Method/Property | Parameter | Type | Description |
|---|---|---|---|
| Keys | IEnumerable<string> | 索引鍵值。每個值都是特定巢狀層級的名稱。 | |
| Values | IEnumerable<IReadOnlyList<FieldList>> | 巢狀層級的欄位值集合。 | |
| Count | Integer | 巢狀欄位的數量。 | |
| ContainsKey | Key: String | Boolean | 指定是否存在巢狀欄位。 |
| TryGetValue | Key: String, Value: IReadOnlyList<FieldList> | Boolean | 指定值是否存在。如果有值,則回傳 True 和該值;否則回傳 False。 |
| this[] | Name: String | IReadOnlyList<FieldList> | 回傳指定巢狀欄位的值。 |
| Find | Name: String | IEnumerable<FieldList> | 尋找任何巢狀層級中具有指定名稱的所有巢狀欄位。 |
| Filter | Predicate: (Name: String, Node: FieldList) => Boolean | IEnumerable<FieldList> | 尋找任何巢狀層級中符合述詞條件的所有巢狀欄位。 |
| Descendents | NameItems: Params String[] | IEnumerable<FieldList> | 尋找任何巢狀層級中名稱符合 nameItems 參數的所有巢狀欄位。 |
FieldList 是一種對應欄位或欄位群組 (名稱相同的重複欄位或重複群組) 的結構,包含欄位或群組的值 (可能有多個實例) 。
| Method/Property | Parameter | Type | Description |
|---|---|---|---|
| Values | IEnumerable<Object> | 純量欄位值的集合。 | |
| Count | Integer | 巢狀 GroupItems 的數量。 | |
| Find | Name: String | IEnumerable<FieldList> | 尋找任何巢狀層級中具有指定名稱的所有巢狀欄位。 |
| Filter | Predicate: (Name: String, Node: FieldList) => Boolean | IEnumerable<FieldList> | 尋找任何巢狀層級中符合述詞條件的所有巢狀欄位。 |
| this[] | Num: Integer | GroupItem | 回傳 num 參數指定編號位置的 GroupItem,其中包含巢狀欄位 (如果有) 。 |
Sample Process 提供了使用
FieldList[] 型別變數的範例 (LineItems 資料表的 Description 資料行會顯示在日誌訊息中) 。