curtis
14小時前 10220027159dc90f19f7c62a7b84bb00c6453d4c
doc/curtis/Scanner_Controller_Analysis.md
@@ -1,6 +1,6 @@
# 硬體掃描控制模組 (Scanner Controller) 深度分析
在 `CB_IMGPSScanImp.pas` 中,「硬體掃描控制模組」是系統與實體掃描設備溝通的唯一橋樑。它深度依賴 TWAIN 協定(透過第三方元件 `EnScan` 封裝),負責控制硬體行為並將紙本文件轉換為記憶體中的數位影像資料。
在 `CB_IMGPSScanImp.pas.bk` 中,「硬體掃描控制模組」是系統與實體掃描設備溝通的唯一橋樑。它深度依賴 TWAIN 協定(透過第三方元件 `EnScan` 封裝),負責控制硬體行為並將紙本文件轉換為記憶體中的數位影像資料。
若要將此模組進一步細拆,其內部組成可分為以下三大子分類:
@@ -60,3 +60,13 @@
    該服務可以透過 **WebSocket** 或 **Local REST API** 接收來自網頁端的掃描指令,控制 TWAIN 掃描機,並將接收到的影像轉為 Base64 或二進位流回傳給網頁前端。
3.  **單一職責分離 (Separation of Concerns)**:
    應將 `OnAcquire` 中厚重的「條碼辨識」、「A3 裁切」與「黑邊處理」移出此模組。Scanner Controller 的唯一職責應該只有:**「將紙本轉為電腦中的 Bitmap」**。後續的處理應交給 `Image Processor` (影像處理模組) 透過管線 (Pipeline) 的方式接手處理。
R_W_Scanini|GetDefScanIni
## 相關關鍵字:
OnAcquire|SelectScanner|scanner.SelectScanner|initkscan|CheckScannerConfig|PageEnd|PageDone|ScannerControl.twainWrapper|StatrTwainScan|Scanner.OpenSource|Scanner.AcquireWithSourceOpen|Scanner.CloseSource|Scanner