OCR 動作

Power Automate 可讓使用者透過光學字元辨識 (OCR),讀取、擷取及管理檔案中的資料。

若要建立 OCR 引擎,並從影像和文件中擷取文字,請使用使用 OCR 擷取文字動作。 下列範例會從整個指定的影像中擷取文字。

[使用 OCR 擷取文字] 動作的螢幕擷取畫面。

所有的 OCR 動作都可以建立新的 OCR 引擎變數,或使用現有的 OCR 引擎變數。 您可以在任何提供 OCR 功能的動作中使用現有的 OCR 引擎變數。

Power Automate 支援 Windows OCR 和 Tesseract 引擎。 若要設定選取的 OCR 引擎,請瀏覽至相應動作的 OCR 引擎設定。 可用選項包括語言和影像寬度和高度乘數。

注意

  • 所有可用的 OCR 引擎都已預先安裝在 Power Automate 中,無需連接至雲端即可在本機執行。 但是,您可能需要下載語言套件或資料檔案,才能擷取特定語言的文字。
  • 圖像乘數會增加圖像的大小,讓搜尋和文字擷取更有效。 設定值大於 3 可能會造成錯誤的結果。

使用 Windows OCR 引擎

Power Automate 中的預設 OCR 引擎是 WINDOWS OCR 引擎。 若要使用 Windows OCR 引擎來擷取文字,您必須針對您要擷取的語言,安裝適當的語言套件。

如果未安裝適當的語言套件,Power Automate 將會擲回錯誤,提示您進行安裝。 若需有關下載和安裝語言套件的詳細資訊,請移至 Windows 的語言套件

安裝適當的語言套件後,請展開 OCR動作的 OCR 引擎設定,選取您要的語言。 Windows OCR 引擎支援 25 種語言,包括中文 (簡體和繁體)、捷克文、丹麥文、荷蘭文、英文、芬蘭文、法文、德文、希臘文、匈牙利文、意大利文、日文、韓文、挪威文、波蘭文、葡萄牙文、羅馬尼亞文、俄文、塞爾維亞文 (西里爾文和拉丁文)、斯洛伐克文、西班牙文、瑞典文和土耳其文。

使用 Tesseract OCR 引擎

注意

若要使用 Tesseract OCR 引擎,請確定電腦的 CPU 支援 AVX2 指令集。

除了 Windows OCR 引擎之外,Power Automate 還支援 Tesseract 引擎。 此引擎進一步設定即可擷取五種語言的文字:英文、德文、西班牙文、法文和義大利文。

若要從上述清單以外的語言擷取文字,請在 OCR 動作的 OCR 引擎設定中,啟用使用其他語言選項。 此選項啟用時,動作會多顯示兩個參數:語言縮寫語言資料路徑

語言縮寫欄位會向引擎指示在 OCR 期間要尋找的語言。 語言資料路徑欄位包含用於訓練 OCR 引擎的語言資料檔案 (.traineddata)。 您可以在此 GitHub 存放庫中找到所有可用語言的語言資料檔案。

您也可以使用 Tesseract 引擎,從多語言文件中擷取文字。 如需有關從多語言文件中擷取文字的的詳細資訊,請移至在多語言文件上執行 OCR

如果文字在畫面上 (OCR)

根據指定文字是否出現在畫面上,使用 OCR 標記條件動作區塊的起點。

輸入參數

引數 選用 接受 預設值 描述
If text 無法使用 存在、不存在 存在 指定是否要檢查文字是否存在於分析的指定來源中
OCR 引擎類型 Windows OCR 引擎、Tesseract 引擎、OCR 引擎變數 OCR 引擎變數 要使用的 OCR 引擎類型。 選取預先設定的 OCR 引擎或設定新引擎。
OCR engine variable OCREngineObject 用於 OCR 作業的引擎
Text to find 文字值 要在指定來源中搜尋的文字
Is regular expression 無法使用 布林值 指定是否使用規則運算式尋找指定文字
Search for text on 無法使用 整個畫面、前景視窗 整個畫面 指定是在整個可視畫面上,或是只在前景視窗中搜尋指定文字
Search mode 無法使用 整個指定來源、僅限特定子區域、與影像相關的子區域 整個指定來源 指定是掃描整個畫面 (或視窗),或是掃描縮小的面子區域
影像 影像清單 用於指定要掃描特定文字之子區域 (相對於影像左上角) 的影像
X1 數值 用於掃描特定文字之子區域起始點的 X 座標
Tolerance 數值 10 指定容許搜尋到的影像與最初選取的影像有多少差異
Y1 數值 用於掃描特定文字之子區域起始點的 Y 座標
X1 數值 相對於要掃描特定文字之指定影像的子區域起始點的 X 座標
X2 數值 用於掃描特定文字之子區域結束點的 X 座標
Y1 數值 相對於要掃描特定文字之指定影像的子區域起始點的 Y 座標
Y2 數值 用於掃描特定文字之子區域結束點的 Y 座標
X2 數值 相對於要掃描特定文字之指定影像的子區域結束點的 X 座標
Y2 數值 相對於要掃描特定文字之指定影像的子區域結束點的 Y 座標
Windows OCR 語言 N/A 中文 (簡體),中文 (繁體)、捷克文、丹麥文、荷蘭文、英文、芬蘭文、法文、德文、希臘文、匈牙利文、意大利文、日文、韓文、挪威文、波蘭文、葡萄牙文、羅馬尼亞文、俄文、塞爾維亞文 (西里爾文)、塞爾維亞文 (拉丁文)、斯洛伐克文、西班牙文、瑞典文、土耳其文 英文 Windows OCR 引擎偵測到的文字語言
使用其他語言 N/A 布林值 誤判 指定是否使用「Tesseract 語言」欄位中未提供的語言
Tesseract 語言 N/A 英文、德文、西班牙文、法文、義大利文 英文 Tesseract 引擎偵測的文字語言
語言縮寫 文字值 要使用之語言的 Tesseract 縮寫。 例如,如果資料為「eng.traineddata」,請將此參數設定為「eng」
語言資料路徑 文字值 儲存指定語言 Tesseract 資料的資料夾路徑
影像寬度乘數 數值 1 影像的寬度乘數
影像高度乘數 數值 1 影像的高度乘數
影像比對演算法 N/A 基本,進階 基本 搜尋影像時要使用哪種影像演算法

注意

變數已產生

引數 類型​ 描述
LocationOfTextFoundX 數值 文字在畫面上顯示位置的 X 座標。 如果在前景視窗中執行搜尋,傳回的座標是與視窗左上角的相對位置
LocationOfTextFoundY 數值 文字在畫面上顯示位置的 X 座標。 如果在前景視窗中執行搜尋,傳回的座標是與視窗左上角的相對位置

例外狀況

例外狀況 描述
無法檢查非互動模式中是否有文字 表示在非互動模式中不可能檢查畫面上的文字
子區域座標無效 表示指定的子區域座標無效
無法使用 OCR 分析文字 表示嘗試使用 OCR 分析文字時發生錯誤
無法建立 OCR 引擎 表示嘗試建立 OCR 引擎時發生錯誤
資料路徑資料夾不存在 指示為語言資料指定的資料夾不存在
電腦上未安裝所選取的 Windows 語言套件 指示電腦上未安裝所選取的 Windows 語言套件
OCR 引擎未連線 表示 OCR 引擎未連線

等待畫面上的文字 (OCR)

使用 OCR,等待指定文字出現/消失在畫面、前景視窗,或相對於畫面或前景視窗的圖像上。

輸入參數

引數 選用 接受 預設值 描述
Wait for text to 無法使用 顯示、消失 顯示 指定是否等待文字顯示或消失
OCR 引擎類型 Windows OCR 引擎、Tesseract 引擎、OCR 引擎變數 OCR 引擎變數 要使用的 OCR 引擎類型。 選取預先設定的 OCR 引擎或設定新引擎。
OCR engine variable OCREngineObject 用於 OCR 作業的引擎
Text to find 文字值 要在指定來源中搜尋的文字
Is regular expression 無法使用 布林值 指定是否使用規則運算式尋找指定文字
Search for text on 無法使用 整個畫面、前景視窗 整個畫面 指定是在整個可視畫面上,或是只在前景視窗中搜尋指定文字
Search mode 無法使用 整個指定來源、僅限特定子區域、與影像相關的子區域 整個指定來源 指定是掃描整個畫面 (或視窗),或是掃描縮小的面子區域
影像 影像清單 用於指定要掃描特定文字之子區域 (相對於影像左上角) 的影像
X1 數值 用於掃描特定文字之子區域起始點的 X 座標
Tolerance 數值 10 指定容許搜尋到的影像與最初選取的影像有多少差異
Y1 數值 用於掃描特定文字之子區域起始點的 Y 座標
X1 數值 相對於要掃描特定文字之指定影像的子區域起始點的 X 座標
X2 數值 用於掃描特定文字之子區域結束點的 X 座標
Y1 數值 相對於要掃描特定文字之指定影像的子區域起始點的 Y 座標
Y2 數值 用於掃描特定文字之子區域結束點的 Y 座標
X2 數值 相對於要掃描特定文字之指定影像的子區域結束點的 X 座標
Y2 數值 相對於要掃描特定文字之指定影像的子區域結束點的 Y 座標
Windows OCR 語言 N/A 中文 (簡體),中文 (繁體)、捷克文、丹麥文、荷蘭文、英文、芬蘭文、法文、德文、希臘文、匈牙利文、意大利文、日文、韓文、挪威文、波蘭文、葡萄牙文、羅馬尼亞文、俄文、塞爾維亞文 (西里爾文)、塞爾維亞文 (拉丁文)、斯洛伐克文、西班牙文、瑞典文、土耳其文 英文 Windows OCR 引擎偵測到的文字語言
使用其他語言 N/A 布林值 誤判 指定是否使用「Tesseract 語言」欄位中未提供的語言
Tesseract 語言 N/A 英文、德文、西班牙文、法文、義大利文 英文 Tesseract 引擎偵測的文字語言
語言縮寫 文字值 要使用之語言的 Tesseract 縮寫。 例如,如果資料為「eng.traineddata」,請將此參數設定為「eng」
語言資料路徑 文字值 儲存指定語言 Tesseract 資料的資料夾路徑
影像寬度乘數 數值 1 影像的寬度乘數
影像高度乘數 數值 1 影像的高度乘數
影像比對演算法 N/A 基本,進階 基本 搜尋影像時要使用哪種影像演算法
失敗,發生逾時錯誤 N/A 布林值 False 指定是否讓動作無限期等待,還是在經過設定的時段後失敗

注意

變數已產生

引數 類型​ 描述
LocationOfTextFoundX 數值 文字在畫面上顯示位置的 X 座標。 如果在前景視窗中執行搜尋,傳回的座標是與視窗左上角的相對位置
LocationOfTextFoundY 數值 文字在畫面上顯示位置的 X 座標。 如果在前景視窗中執行搜尋,傳回的座標是與視窗左上角的相對位置

例外狀況

例外狀況 描述
無法檢查非互動模式中是否有文字 表示在非互動模式中不可能檢查畫面上的文字
子區域座標無效 表示指定的子區域座標無效
無法使用 OCR 分析文字 表示嘗試使用 OCR 分析文字時發生錯誤
無法建立 OCR 引擎 表示嘗試建立 OCR 引擎時發生錯誤
資料路徑資料夾不存在 指示為語言資料指定的資料夾不存在
電腦上未安裝所選取的 Windows 語言套件 指示電腦上未安裝所選取的 Windows 語言套件
OCR 引擎未連線 表示 OCR 引擎未連線
逾時錯誤 表示動作在設定的時段後失敗

使用 OCR 擷取文字

使用指定的 OCR 引擎從給定來源擷取文字。

輸入參數

引數 選用 接受 預設值 描述
OCR 引擎 Windows OCR 引擎、Tesseract 引擎、OCR 引擎變數 OCR 引擎變數 要使用的 OCR 引擎類型。 選取預先設定的 OCR 引擎或設定新引擎
OCR 引擎變數 OCREngineObject 用於 OCR 作業的引擎
OCR source 無法使用 畫面、前景視窗、磁碟映像 畫面 要對其執行 OCR 作業的影像來源
Image file path 檔案 要對其執行 OCR 作業的影像路徑
Search mode 無法使用 整個指定來源、僅限特定子區域、與影像相關的子區域 整個指定來源 OCR 作業的指定模式
影像 影像清單 用於將掃描縮小至與指定影像相關之子區域的影像
Tolerance 數值 10 指定容許影像與最初選取的影像有多少差異
X1 數值 用於縮小掃描範圍子區域起始點的 X 座標
X2 數值 用於縮小掃描範圍子區域結束點的 X 座標
Y1 數值 用於縮小掃描範圍子區域起始點的 Y 座標
Y2 數值 用於縮小掃描範圍子區域結束點的 Y 座標
Windows OCR 語言 N/A 中文 (簡體),中文 (繁體)、捷克文、丹麥文、荷蘭文、英文、芬蘭文、法文、德文、希臘文、匈牙利文、意大利文、日文、韓文、挪威文、波蘭文、葡萄牙文、羅馬尼亞文、俄文、塞爾維亞文 (西里爾文)、塞爾維亞文 (拉丁文)、斯洛伐克文、西班牙文、瑞典文、土耳其文 英文 Windows OCR 引擎偵測到的文字語言
使用其他語言 N/A 布林值 誤判 指定是否使用「Tesseract 語言」欄位中未提供的語言
Tesseract 語言 N/A 英文、德文、西班牙文、法文、義大利文 英文 Tesseract 引擎偵測的文字語言
語言縮寫 文字值 要使用之語言的 Tesseract 縮寫。 例如,如果資料為「eng.traineddata」,請將此參數設定為「eng」
語言資料路徑 文字值 儲存指定語言 Tesseract 資料的資料夾路徑
影像寬度乘數 數值 1 影像的寬度乘數
影像高度乘數 數值 1 影像的高度乘數
等待影像出現 N/A 布林值 True 指定是否等待影像顯示在畫面上或前景視窗中
逾時 數值 5 指定在動作失敗前,等候作業完成的時間
影像比對演算法 N/A 基本,進階 基本 搜尋影像時要使用哪種影像演算法

注意

已規劃取代OCR 引擎變數選項。

變數已產生

引數 類型​ 描述
OcrText 文字值 文字擷取後的結果

例外狀況

例外 描述
無法使用 OCR 擷取文字 表示嘗試使用 OCR 從指定來源擷取文字時發生錯誤
找不到影像檔案 表示檔案不存在於指定的路徑中
找不到地標影像 表示地標影像不存在
無法從非互動模式的畫面中擷取文字 表示在非互動模式中不可能從畫面上擷取文字
無法建立 OCR 引擎 表示嘗試建立 OCR 引擎時發生錯誤
資料路徑資料夾不存在 指示為語言資料指定的資料夾不存在
電腦上未安裝所選取的 Windows 語言套件 指示電腦上未安裝所選取的 Windows 語言套件
OCR 引擎未連線 表示 OCR 引擎未連線