在此情境中,對於發票、收據等小型單頁文件,您將可獲得最佳的識別結果。 將您的應用程式部署到 App Service 包含以下幾個步驟:
- 依照必要條件準備本機環境與應用程式執行個體
- 在部署應用程式之前,執行準備步驟
- 在 App Service 中部署並執行您的應用程式
必要條件
本地電腦
- Visual Studio 2019 及其用於開發 Azure 應用程式的模組 (請檢查 Visual Studio 中的 Azure 功能 或使用 Visual Studio Installer 下載此類模組)
- Azure SDK (下載 此處)
- .NET Framework 4.7.2
- 用於處理 Azure Storage 和 Blob 容器的 NuGet 套件:
- .NET Framework 4.7 的 ABBYY FineReader Engine 包裝器 (開發人員安裝之後,在 C:\ProgramData\ABBYY\SDK\12\FineReader Engine\Inc.NET interops 資料夾中)
- 已覆寫以處理 Blob 容器的 IFileWriter 介面 (請參閱下列 範例)
- Azure Storage Explorer (選用 - 下載 此處)
- Azure 帳戶中的虛擬機器,專供授權程序使用。為了進一步的設定,您需要:
- IP 位址
- 開放連線埠 (預設或使用者定義) 。要開啟它,請使用防火牆
- Sockets 網路通訊協定連線詳細資訊
準備步驟
- 建立包含 ABBYY FineReader Engine 程式庫的封存檔 (例如 LibraryPackage.zip) 。檔案清單列在 FREngineDistribution.csv 檔案中。
重要!如果您的儲存空間有限 (例如使用 1GB 空間的 App Service Plan) ,建議使用 /extract 選項建立自訂的最小化 ABBYY FineReader Engine 套件。其餘儲存空間將用於處理檔案。
建立封存檔時,請注意 ABBYY FineReader Engine 的授權設定必須依照虛擬機器設定進行配置:- LicensingSettings.xml 檔案必須設為 Network 組態 (請參閱 Working with the LicensingSettings.xml File) 。
- 必須使用 Sockets 網路通訊協定。
- 線上授權 token file 必須位於 Bin64 資料夾中。
- 建立 Azure Storage account (本文中為 frestorage) 。所有必要說明皆可在 Azure 網站上找到。
- 依需求建立您的 App Service (請參閱此處的說明) 。
- 在 frestorage 中建立兩個 Blob 容器:
- fre-lib - 用於存放 ABBYY FineReader Engine 檔案
- processing-container - 用於存放處理結果
- 以最方便的方式將 LibraryPackage.zip 上傳到 fre-lib container (使用 .NET、Powershell、Python 指令碼或 Azure Storage Explorer/Azure Portal 應用程式) 。
- 在您的 Azure 帳戶中部署並設定套用授權設定的虛擬機器:
- 透過 LibraryPackage.zip 中的 installLM.exe 安裝授權管理工具程式。
- 在 LicensingSettings.xml 中設定 Sockets 網路通訊協定,然後重新啟動 Licensing Service。
- 確保 Azure App Service 可以存取 Licensing Service 的連線埠 (調整虛擬機器上的 Windows 防火牆規則) 。
- 啟用您的授權 (僅適用於 software protection;online protection 不需要 activation) 。
- 在 frestorage 中建立兩個 queue:
- processing-queue - 用於設定檔案處理工作
- status-queue - 用於通知工作完成
- 在 Visual Studio 2019 中建立兩個 Azure WebJob (.NET Framework) 專案,以搭配 frestorage 使用:
在 App Service 中部署及執行 ABBYY FineReader Engine
- 使用 Visual Studio 將 FreDeployerJob 發佈到 Azure App Service (將 WebJob Type 設為 Triggered) 。
- 在 Azure 入口網站中開啟您的 App Service。
- 開啟 App Service 的 WebJobs。
- 在 WebJobs 清單中找出 FreDeployerJob。
- 在 WebJobs 索引標籤中,以滑鼠右鍵按一下 FreDeployerJob,然後執行 Run 命令來啟動它。
- 將您要處理的檔案上傳至 processing-container。
- 以 {“blob-item-name” : “file_name”} 格式,將新的處理工作 JSON 訊息新增至 processing-queue。若您將 Demo.tif 上傳至 processing-container,訊息應為:
- 等待任務完成。新任務一設定好,FreProcessorJob 就會開始在記憶體中處理指定的檔案。status-queue 會包含此任務執行情況的相關項目。
- 在 processing-container 中尋找輸出檔案。
程式碼範例
FreDeployerJob:
Config.cs
Config.cs
Functions.cs
Functions.cs
Program.cs
Program.cs
FreProcessorJob:
Config.cs
Config.cs
Functions.cs
Functions.cs
Program.cs
Program.cs
EngineLoader.cs
EngineLoader.cs
IFileWriter.cs
IFileWriter.cs
Processor.cs
Processor.cs
