如何在 C# 中使用 IronOCR 閱讀 MICR 支票#。
人工處理支票既慢又容易出錯。 IronOCR透過可精確讀取 MICR (磁性油墨字元辨識) 行的專用引擎簡化了此工作流程,讓您可以自動提取路由號碼、帳號和其他重要資料。
快速入門:OCR 從支票影像讀取 MICR
使用 IronOCR 快速抓取 MICR 行-只需將 Language 設定為 MICR,指定 MICR 文字出現的矩形區域,執行 Read() 並立即取得 result.Text 字串。 非常適合希望以最少的設定提取可靠財務數據的開發人員。
立即開始使用 NuGet 建立 PDF 檔案:
使用 NuGet 套件管理器安裝 IronOCR
複製並運行這段程式碼。
string micrText = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.MICR }.Read(new IronOcr.OcrInput().LoadImage("micr.png", new System.Drawing.Rectangle(125, 240, 310, 15))).Text;部署到您的生產環境進行測試
最小工作流程(5 個步驟)
- 下載用於讀取 MICR 支票的 C# 庫
- 實例化 OCR 引擎
- 將
Language設定設為 MICR - 使用
Read方法從樣本支票影像中提取數據 - 存取OcrResult屬性以查看和操作提取的數據
如何從支票影像讀取 MICR 資料? 使用 IronOCR 讀取 MICR 行既簡單又直觀。首先,將 `IronTesseract` 實例的 `Language` 屬性設定為 `OcrLanguage.Micr` 。 為確保引擎讀取正確的區域,請在 `OcrInput` 上設定矩形邊界,以指定 MICR 行的位置。 這是透過選擇 x 和 y 座標,以及邊界框矩形的高度和寬度,然後在呼叫 `Load` 方法時將矩形作為第二參數傳送。 呼叫`Read`方法後,只會處理這個已定義的區域。 MICR 語言設定與特定區域的這種結合保證了 IronOCR 能夠準確地提取相關的財務資訊。 MICR 技術使用特殊的磁性墨水和獨特的字型 (北美為 E-13B),其中正好包含 14 個字元:數字 0-9 和四個特殊符號。 這些符號包括中轉符號 (⑆),用來標示路由號碼的邊界; on-us符號 (⑈),將帳號與其他資料分開; 金額符號 (⑊),用於編碼金額; 以及作為分隔符號的破折號 (⑉)。 即使支票折疊、蓋章或輕微損壞,這種油墨的磁性也能可靠讀取,使 MICR 成為大量支票處理的理想選擇。MICR 支票長什麼樣子? 。MICR 行包含哪些資訊? **支票號碼**:此號碼用於唯一識別帳戶持有人支票簿中的特定支票。 它為追蹤個人付款和維護交易記錄提供了清晰的參考依據。 在自動化處理系統中,支票號碼有助於防止重複處理,並協助對帳程序。 **路由號碼**:這個九位數的代碼,用⑆符號括起來,用來識別持有該帳戶的金融機構。 這是清算機構用來將支票發送到正確銀行進行付款的第一個訊息。 路由號碼遵循特定的格式:前四位數表示聯邦儲備局的路由符號,後四位數表示機構,最後一位數是驗證用的校驗和。 **帳號**:用於識別將從中提取資金的特定客戶帳戶。 其長度可因不同銀行而異,通常在 10 到 12 位數之間。 銀行可能會在帳號結構中包含內部代碼或分行識別碼。擷取 MICR 資料需要哪些程式碼? ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-micr-cheque.cs ``` 程式碼示範了 [MICR 支票處理的完整工作流程](https://ironsoftware.com/csharp/ocr/examples/read-micr-cheque/)。 在執行此程式碼之前,請確認您已透過 NuGet 安裝 MICR 語言套件。 [OcrInput 類別](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-input-for-irontesseract/)提供強大的影像載入與預處理方法,而 Rectangle 參數則可精確定位 MICR 線位置。我應該期待什麼結果?
上面的輸出顯示從 MICR 支票取得的三個部分:過境號碼、路由號碼和帳號。 請注意特殊 MICR 符號在輸出中的表示方式 - 這是正常的行為,因為這些符號有特定的 Unicode 表示方式,在控制台輸出中可能會以不同的方式顯示。 #### MICR OCR 結果 `OcrResult`物件提供有關掃描的詳細資訊: **文字**:從 `OcrInput` 擷取的文字。 這包括 MICR 行中的所有字元和符號,並保持其原始順序。 **置信度**:表示平均每個字元的統計準確度置信度,1 為最高,0 為最低。對於 MICR 閱讀,由於採用標準字型設計,置信度通常高於 0.9。 進一步瞭解[OCR結果的信心追蹤](https://ironsoftware.com/csharp/ocr/how-to/tesseract-result-confidence/)。 **Block, Paragraphs, Lines, and Words**:識別文字的層次結構,對 MICR 而言,通常由單行與多個以符號分隔的字段組成。 **Barcode 資料**:在處理 MICR 時,IronOCR 可同時偵測支票上存在的任何 [ 條碼或 QR 碼](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/)。如何驗證正確的 OCR 區域? 為了確保您已為 MICR 線選擇了正確的座標,您可以視覺化您定義的**ContentArea** 。 一個簡單的方法是在輸入影像上繪製矩形,然後使用`StampCropRectangleAndSaveAs`將其另存為新檔案。 這有助於您調試和微調坐標,以獲得最佳性能。 若要尋找 Rectangle 的座標,請使用 MS Paint 等簡單的影像編輯器。 打開您的支票影像,將滑鼠移至 MICR 線的左上角和右下角,並記下 `(x,y)` 像素座標。 然後您可以計算矩形的屬性:`(x1, y1, width, height)`, 其中 `width = x2-x1` 和 `height = y2-y1`. 如需更進階的區域選擇技術,請探索 [OCR 區域定位](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/) 和 [ PDF 的內容區域](https://ironsoftware.com/csharp/ocr/troubleshooting/crop-regions-rectangles/)。 這是在範例支票上繪製指定邊界框後的輸出影像。 #### 輸出
淺藍色矩形表示我們已經正確分離 MICR 線進行處理。 ### 效能最佳化秘訣 處理多重檢查時,請考慮實施 [多執行緒以提升效能](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/)。 IronOCR 能有效率地處理並發作業: ```csharp // Process multiple cheques in parallel var chequeFiles = Directory.GetFiles("cheques/", "*.png"); Parallel.ForEach(chequeFiles, file => { using (var ocr = new IronTesseract { Language = OcrLanguage.MICR }) using (var input = new OcrInput()) { input.LoadImage(file, micrRegion); var result = ocr.Read(input); ProcessMicrData(result.Text); } }); ``` ### 常見疑難排解情境 **低品質掃描**:如果您使用品質不佳的檢查影像,請套用[影像預處理篩選程式](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/)來提升可讀性。 MICR 字體的獨特形狀有助於在影像品質下降的情況下仍能保持精確度。 **錯誤字元識別**:請確認您已安裝最新的 MICR 語言套件。 專門的 [MICR 語言配置](https://ironsoftware.com/csharp/ocr/troubleshooting/financial-language-pack/)是針對 E-13B 字型識別而特別訓練的。 **可變的 MICR 線位置**:不同銀行的 MICR 線位置可能略有不同。 考慮實作動態區域偵測,或維護具有不同檢查格式座標的組態檔案。 ### 相關財務文件處理 IronOCR 的功能不僅限於檢查處理。 探索這些相關功能,以實現全面的財務文件自動化: - [從掃描的發票擷取資料](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/) - [處理身份文件](https://ironsoftware.com/csharp/ocr/examples/read-passport/)以符合 KYC 規範 - [閱讀財務報表中的表格](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/) 透過 IronOCR 掌握 MICR 閱讀功能,您就邁出了全自動化財務文件處理的第一步,可減少手動輸入錯誤,並大幅加快工作流程。
MICR 行包含哪些資訊? **支票號碼**:此號碼用於唯一識別帳戶持有人支票簿中的特定支票。 它為追蹤個人付款和維護交易記錄提供了清晰的參考依據。 在自動化處理系統中,支票號碼有助於防止重複處理,並協助對帳程序。 **路由號碼**:這個九位數的代碼,用⑆符號括起來,用來識別持有該帳戶的金融機構。 這是清算機構用來將支票發送到正確銀行進行付款的第一個訊息。 路由號碼遵循特定的格式:前四位數表示聯邦儲備局的路由符號,後四位數表示機構,最後一位數是驗證用的校驗和。 **帳號**:用於識別將從中提取資金的特定客戶帳戶。 其長度可因不同銀行而異,通常在 10 到 12 位數之間。 銀行可能會在帳號結構中包含內部代碼或分行識別碼。擷取 MICR 資料需要哪些程式碼? ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-micr-cheque.cs ``` 程式碼示範了 [MICR 支票處理的完整工作流程](https://ironsoftware.com/csharp/ocr/examples/read-micr-cheque/)。 在執行此程式碼之前,請確認您已透過 NuGet 安裝 MICR 語言套件。 [OcrInput 類別](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-input-for-irontesseract/)提供強大的影像載入與預處理方法,而 Rectangle 參數則可精確定位 MICR 線位置。我應該期待什麼結果?
上面的輸出顯示從 MICR 支票取得的三個部分:過境號碼、路由號碼和帳號。 請注意特殊 MICR 符號在輸出中的表示方式 - 這是正常的行為,因為這些符號有特定的 Unicode 表示方式,在控制台輸出中可能會以不同的方式顯示。 #### MICR OCR 結果 `OcrResult`物件提供有關掃描的詳細資訊: **文字**:從 `OcrInput` 擷取的文字。 這包括 MICR 行中的所有字元和符號,並保持其原始順序。 **置信度**:表示平均每個字元的統計準確度置信度,1 為最高,0 為最低。對於 MICR 閱讀,由於採用標準字型設計,置信度通常高於 0.9。 進一步瞭解[OCR結果的信心追蹤](https://ironsoftware.com/csharp/ocr/how-to/tesseract-result-confidence/)。 **Block, Paragraphs, Lines, and Words**:識別文字的層次結構,對 MICR 而言,通常由單行與多個以符號分隔的字段組成。 **Barcode 資料**:在處理 MICR 時,IronOCR 可同時偵測支票上存在的任何 [ 條碼或 QR 碼](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/)。如何驗證正確的 OCR 區域? 為了確保您已為 MICR 線選擇了正確的座標,您可以視覺化您定義的**ContentArea** 。 一個簡單的方法是在輸入影像上繪製矩形,然後使用`StampCropRectangleAndSaveAs`將其另存為新檔案。 這有助於您調試和微調坐標,以獲得最佳性能。 若要尋找 Rectangle 的座標,請使用 MS Paint 等簡單的影像編輯器。 打開您的支票影像,將滑鼠移至 MICR 線的左上角和右下角,並記下 `(x,y)` 像素座標。 然後您可以計算矩形的屬性:`(x1, y1, width, height)`, 其中 `width = x2-x1` 和 `height = y2-y1`. 如需更進階的區域選擇技術,請探索 [OCR 區域定位](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/) 和 [ PDF 的內容區域](https://ironsoftware.com/csharp/ocr/troubleshooting/crop-regions-rectangles/)。 這是在範例支票上繪製指定邊界框後的輸出影像。 #### 輸出
淺藍色矩形表示我們已經正確分離 MICR 線進行處理。 ### 效能最佳化秘訣 處理多重檢查時,請考慮實施 [多執行緒以提升效能](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/)。 IronOCR 能有效率地處理並發作業: ```csharp // Process multiple cheques in parallel var chequeFiles = Directory.GetFiles("cheques/", "*.png"); Parallel.ForEach(chequeFiles, file => { using (var ocr = new IronTesseract { Language = OcrLanguage.MICR }) using (var input = new OcrInput()) { input.LoadImage(file, micrRegion); var result = ocr.Read(input); ProcessMicrData(result.Text); } }); ``` ### 常見疑難排解情境 **低品質掃描**:如果您使用品質不佳的檢查影像,請套用[影像預處理篩選程式](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/)來提升可讀性。 MICR 字體的獨特形狀有助於在影像品質下降的情況下仍能保持精確度。 **錯誤字元識別**:請確認您已安裝最新的 MICR 語言套件。 專門的 [MICR 語言配置](https://ironsoftware.com/csharp/ocr/troubleshooting/financial-language-pack/)是針對 E-13B 字型識別而特別訓練的。 **可變的 MICR 線位置**:不同銀行的 MICR 線位置可能略有不同。 考慮實作動態區域偵測,或維護具有不同檢查格式座標的組態檔案。 ### 相關財務文件處理 IronOCR 的功能不僅限於檢查處理。 探索這些相關功能,以實現全面的財務文件自動化: - [從掃描的發票擷取資料](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/) - [處理身份文件](https://ironsoftware.com/csharp/ocr/examples/read-passport/)以符合 KYC 規範 - [閱讀財務報表中的表格](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/) 透過 IronOCR 掌握 MICR 閱讀功能,您就邁出了全自動化財務文件處理的第一步,可減少手動輸入錯誤,並大幅加快工作流程。
我應該期待什麼結果?
上面的輸出顯示從 MICR 支票取得的三個部分:過境號碼、路由號碼和帳號。 請注意特殊 MICR 符號在輸出中的表示方式 - 這是正常的行為,因為這些符號有特定的 Unicode 表示方式,在控制台輸出中可能會以不同的方式顯示。 #### MICR OCR 結果 `OcrResult`物件提供有關掃描的詳細資訊: **文字**:從 `OcrInput` 擷取的文字。 這包括 MICR 行中的所有字元和符號,並保持其原始順序。 **置信度**:表示平均每個字元的統計準確度置信度,1 為最高,0 為最低。對於 MICR 閱讀,由於採用標準字型設計,置信度通常高於 0.9。 進一步瞭解[OCR結果的信心追蹤](https://ironsoftware.com/csharp/ocr/how-to/tesseract-result-confidence/)。 **Block, Paragraphs, Lines, and Words**:識別文字的層次結構,對 MICR 而言,通常由單行與多個以符號分隔的字段組成。 **Barcode 資料**:在處理 MICR 時,IronOCR 可同時偵測支票上存在的任何 [ 條碼或 QR 碼](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/)。如何驗證正確的 OCR 區域? 為了確保您已為 MICR 線選擇了正確的座標,您可以視覺化您定義的**ContentArea** 。 一個簡單的方法是在輸入影像上繪製矩形,然後使用`StampCropRectangleAndSaveAs`將其另存為新檔案。 這有助於您調試和微調坐標,以獲得最佳性能。 若要尋找 Rectangle 的座標,請使用 MS Paint 等簡單的影像編輯器。 打開您的支票影像,將滑鼠移至 MICR 線的左上角和右下角,並記下 `(x,y)` 像素座標。 然後您可以計算矩形的屬性:`(x1, y1, width, height)`, 其中 `width = x2-x1` 和 `height = y2-y1`. 如需更進階的區域選擇技術,請探索 [OCR 區域定位](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/) 和 [ PDF 的內容區域](https://ironsoftware.com/csharp/ocr/troubleshooting/crop-regions-rectangles/)。 這是在範例支票上繪製指定邊界框後的輸出影像。 #### 輸出
淺藍色矩形表示我們已經正確分離 MICR 線進行處理。 ### 效能最佳化秘訣 處理多重檢查時,請考慮實施 [多執行緒以提升效能](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/)。 IronOCR 能有效率地處理並發作業: ```csharp // Process multiple cheques in parallel var chequeFiles = Directory.GetFiles("cheques/", "*.png"); Parallel.ForEach(chequeFiles, file => { using (var ocr = new IronTesseract { Language = OcrLanguage.MICR }) using (var input = new OcrInput()) { input.LoadImage(file, micrRegion); var result = ocr.Read(input); ProcessMicrData(result.Text); } }); ``` ### 常見疑難排解情境 **低品質掃描**:如果您使用品質不佳的檢查影像,請套用[影像預處理篩選程式](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/)來提升可讀性。 MICR 字體的獨特形狀有助於在影像品質下降的情況下仍能保持精確度。 **錯誤字元識別**:請確認您已安裝最新的 MICR 語言套件。 專門的 [MICR 語言配置](https://ironsoftware.com/csharp/ocr/troubleshooting/financial-language-pack/)是針對 E-13B 字型識別而特別訓練的。 **可變的 MICR 線位置**:不同銀行的 MICR 線位置可能略有不同。 考慮實作動態區域偵測,或維護具有不同檢查格式座標的組態檔案。 ### 相關財務文件處理 IronOCR 的功能不僅限於檢查處理。 探索這些相關功能,以實現全面的財務文件自動化: - [從掃描的發票擷取資料](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/) - [處理身份文件](https://ironsoftware.com/csharp/ocr/examples/read-passport/)以符合 KYC 規範 - [閱讀財務報表中的表格](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/) 透過 IronOCR 掌握 MICR 閱讀功能,您就邁出了全自動化財務文件處理的第一步,可減少手動輸入錯誤,並大幅加快工作流程。


常見問題解答
什麼是 MICR,為什麼它對支票處理很重要?
MICR(磁性墨水字符識別)是一種使用特殊磁性墨水和獨特字體在支票上編碼金融資訊的技術。IronOCR 專門的 MICR 引擎可以準確讀取這些編碼資料,包括路由號碼、帳號和支票號碼,將原本緩慢且容易出錯的手動程序自動化。
如何設定 OCR 引擎來讀取 MICR 文字?
要使用 IronOCR 讀取 MICR 文字,您需要將 IronTesseract 實例的語言屬性設定為 OcrLanguage.MICR。這會告訴引擎使用專門為讀取支票上使用的 E-13B 字型而設計的 MICR 字元識別演算法。
我可以明確指定在支票上的哪個位置尋找 MICR 資料嗎?
是的,IronOCR 允許您透過在 OcrInput 上設定矩形邊界來指定 MICR 線的確切位置。您可以透過選擇 x 和 y 座標,以及邊框矩形的高度和寬度來定義,然後在呼叫 Load 方法時將其作為第二個參數傳送。
MICR 編碼中使用哪些特殊字符?
MICR 共使用 14 個字元:0-9 位數和四個特殊符號。這些符號包括中轉符號 (⑆),用於路由號碼邊界;on-us 符號 (⑈),用於分隔帳號;金額符號 (⑊),用於編碼金額;破折號 (⑉),用於分隔。IronOCR 可以識別所有這些 MICR 專用字符。
如何快速從支票影像中擷取 MICR 資料?
使用 IronOCR,只需一行代碼即可提取 MICR 資料。只需建立語言設定為 MICR 的 IronTesseract 範例,載入指定 MICR 區域的影像,呼叫 Read(),並存取 result.Text 屬性,即可立即取得擷取的 MICR 字串。
可以從 MICR 行提取哪些類型的財務資訊?
IronOCR 可以提取 MICR 行中編碼的所有關鍵財務資料,包括路由號碼(識別銀行)、帳號(識別特定帳戶)和支票號碼(唯一識別個別支票)。此自動擷取功能可簡化財務文件處理程序。






