flowchart TD
Start([開始]) --> CheckConfig{掃描器驅動是否已安裝?}
CheckConfig -- 否 --> ShowErr[顯示錯誤訊息] --> End([結束])
CheckConfig -- 是 --> InitScanInfo[初始化 ScanInfo 並設定為多頁模式]
InitScanInfo --> SetScannerParams[設定掃描參數: DPI, 格式, UI 顯示模式]
SetScannerParams --> OpenSource[開啟掃描來源]
OpenSource --> TryAcquire[執行 AcquireWithSourceOpen 掃描作業]
TryAcquire --> CatchErr{掃描過程中發生錯誤?}
CatchErr -- 是 --> ShowScanErr[顯示掃描錯誤訊息] --> CloseSource1[關閉掃描來源] --> FreeRes[釋放 Graphic 資源] --> End
CatchErr -- 否 --> CloseSource2[掃描結束, 關閉掃描來源]
CloseSource2 --> FreeRes --> End