- 掃描
- 掃描影像的前處理
情境實作
步驟 1. 載入 ABBYY FineReader Engine
步驟 1. 載入 ABBYY FineReader Engine
若要開始使用 ABBYY FineReader Engine,您需要建立 Engine 物件。Engine 物件是 ABBYY FineReader Engine 物件階層中的最高層物件,提供各種全域設定、一些處理方法,以及建立其他物件的方法。若要建立 Engine 物件,您可以使用 InitializeEngine 函式。另請參閱 其他載入 Engine 物件的方法 (Win) 。
C#
步驟 2:掃描
步驟 2:掃描
ABBYY FineReader Engine 提供了 ScanManager 物件,用於管理掃描來源。該物件的 ScanSources 屬性可存取所有可用掃描器的清單,而 FindScanSources 方法則允許您依掃描器所提供的 API 類型以及用於設定掃描選項的使用者介面類型來篩選掃描器。若要掃描檔案並將其儲存至磁碟,您可以使用 ScanSource 物件的下列兩種方法之一:Scan 方法會等待掃描完成後才回傳;BeginScan 方法則會啟動非同步掃描作業並立即回傳。您可以實作 IScanCallback 介面,並透過它接收掃描進度的通知。以下參數可透過 ABBYY FineReader Engine 12 API 存取:亮度、色彩、解析度、影像壓縮類型、影像旋轉角度、掃描區域大小、雙面掃描模式、自動進紙模式、頁面間暫停,以及其他更多設定。掃描參數可透過 ScanSource object 的 ScanSettings 屬性進行設定。此屬性用於存取 ScanSourceSettings object,進而提供對該來源掃描設定的存取。若要同步掃描影像:
- 建立一個 ScanManager 物件。您可以透過 CreateScanManager method 的輸入參數,指定是否要寫入掃描日誌。
- 使用 ScanManager 物件的 FindScanSources 方法選擇掃描來源,並指定掃描器應支援的 API 和 UI 類型。
- 如果您選擇不顯示讓使用者自行設定掃描選項的對話方塊,請使用所選 ScanSource 的 ScanSettings 屬性來調整掃描選項。請在 ScanSourceSettings 物件的對應屬性中,為亮度、解析度及其他參數設定適當的值。您可以使用 ScanSource 的 Capabilities 屬性,檢查此掃描器有哪些可用設定。
- 指定用來儲存掃描頁面的資料夾名稱。資料夾名稱應為 BSTR 變數,例如 ScanFolder。
- 執行 ScanSource 物件的 Scan 方法,並將要顯示給使用者的對話方塊類型作為參數傳入 (若不顯示任何對話方塊,請傳遞
SSUIT_None常數) ,以及將 ScanFolder 路徑指定為存放結果的資料夾路徑。 - 此方法會將影像檔名稱以 StringsCollection 物件傳回。您可以從這個 StringsCollection 物件取得影像檔名稱,然後像處理一般影像檔一樣處理這些檔案。
- 建立一個實作 IScanCallback 介面的物件。對於非同步掃描作業,來自回呼介面的通知非常有用。
- 建立 ScanManager 物件。您可以透過 CreateScanManager 方法的輸入參數,指定是否寫入掃描記錄。
- 透過 ScanManager 物件的 FindScanSources 方法選擇掃描來源,並指定掃描器應支援的 API 與 UI 類型。
- 如果您選擇不顯示讓使用者自行設定掃描選項的對話方塊,請使用所選 ScanSource 的 ScanSettings 屬性來調整掃描選項。請在 ScanSourceSettings 物件的對應屬性中,為亮度、解析度及其他參數設定適當的值。您可以使用 ScanSource 的 Capabilities 屬性,檢查此掃描器提供哪些可用設定。
- 指定用來儲存掃描頁面的資料夾名稱。資料夾名稱應為 BSTR 變數,例如 ScanFolder。
- 執行 ScanSource 物件的 BeginScan 方法,並將要顯示給使用者的對話方塊類型作為參數傳入 (傳遞 SSUIT_None 常數即可不顯示任何對話方塊) ,以及將 ScanFolder 路徑設為存放結果的資料夾路徑。您也需要傳遞您所建立之回呼物件的指標。
- 影像檔案的路徑會透過
IScanCallback介面的OnImageScanned通知傳回,而作業完成則由OnScanComplete通知表示。由於這些 method 的實作由您提供,因此您可以自行決定在各種情況下要執行什麼動作。例如,收到影像檔案路徑後,您可以像處理磁碟上的其他檔案一樣處理它,並以一般方式將其載入 FineReader Engine 進行處理。
C#
步驟 3. 卸載 ABBYY FineReader Engine
步驟 3. 卸載 ABBYY FineReader Engine
必要資源
其他最佳化
- 文件分隔
- 在此情境中,您可能需要將傳入的影像分組成文件。例如,您可能知道每份文件的頁數,或確保在第一份文件的最後一頁與下一份文件的第一頁之間有附帶條碼的分隔頁。請參閱條碼辨識情境。
