如何使用 IronOCR 在 C# 中萃取讀取結果。

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR 的 Read 方法會返回一個 OcrResult 物件,其中包含擷取的文字以及詳細的元資料,包括每個偵測到的元素的精確座標、尺寸、文字方向以及層級結構 (段落、行、字、符號)。

OCR 結果包含偵測到的段落、行、字詞和個別字元的全面資訊。

它為每個元素提供文字內容、精確的 X 和 Y 座標、尺寸(寬度和高度)、文字方向(從左到右或從上到下)以及在CropRectangle物件中的位置。

快速入門:從檢測到的第一個單字中檢索單字文字

使用 IronTesseractRead 方法對影像進行 OCR,並使用 Words 集合擷取第一個字的文字。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronOCR

    PM > Install-Package IronOcr

  2. 複製並運行這段程式碼。

    string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronOCR,免費試用!
    arrow pointer

我可以從 OCR 結果中擷取哪些資料? 結果值不僅包含擷取的文字,還包含 IronOCR 在 PDF 和影像文件中發現的頁面、段落、行、字、符號和條碼等資訊。 您可以使用 `Read` 方法從傳回的 [OcrResult 物件](https://ironsoftware.com/csharp/ocr/examples/results-objects/)存取這些資訊。 IronOCR 的綜合結果系統建構在功能強大的 [Tesseract 5 引擎](https://ironsoftware.com/csharp/ocr/features/tesseract/)之上,為開發人員提供超越簡單文字辨識的結構化資料擷取功能。 無論是處理 [掃描的文件](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/)、[照片](https://ironsoftware.com/csharp/ocr/examples/read-photo/),或是 [螢幕截圖](https://ironsoftware.com/csharp/ocr/examples/read-screenshot/),`OcrResult` 類別都能讓您對擷取的資料進行細部控制。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.cs ```
Visual Studio 除錯器顯示 OCR 擷取結果,包含日文商業文件的座標與文字

如何從 OCR 結果存取文字內容? `OcrResult` 物件以簡單、直覺的方式呈現擷取的文字,讓開發人員可以直接使用或將其整合到其他應用程式元件中。 階層式結構反映自然的文件文字組織,可直接處理不同粒度層級的內容。 對於需要 [多語言支援](https://ironsoftware.com/csharp/ocr/how-to/ocr-multiple-languages/)的應用程式,IronOCR 可無縫處理多語言文件,在所有 [125 種支援語言中保持相同的結構化結果格式](https://ironsoftware.com/csharp/ocr/examples/intl-languages/)。 以下的程式碼範例在一個循環中列印文字以驗證結果。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-results-output-text.cs ``` #### 輸出
終端顯示 OCR 段落檢測結果,其中包含關於孫正義與重田康光的萃取文字
控制台輸出顯示 IronOCR 正逐行精確地抽取段落文字。 該引擎可自動偵測段落邊界,非常適合處理包含多個文字區塊的複雜文件。

如何取得偵測到的文字的位置座標? 除了擷取的文字之外,`OcrResult` 還提供詳細的位置資料。 此空間資訊對於需要維持版面忠實度或從特定文件區域執行目標文字擷取的應用程式至關重要。 坐標系統使用從頁面左上角開始的標準像素量測。 若要增強基於座標的作業精確度,請考慮使用 [OCR 區域定位](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/)來專注於特定區域,或利用 [Computer Vision 功能](https://ironsoftware.com/csharp/ocr/how-to/computer-vision/)來自動識別文字區域。 以下程式碼示範迭代每個段落,並將其座標 (X 和 Y) 列印至控制台。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-results-output-text.cs ``` #### 輸出
終端輸出顯示 OCR 檢測到的段落座標,X,Y 值為:(29,30)、(28,74) 及 (27,362)
輸出會顯示對應於三個段落的三組座標。這些座標可用於繪製邊界框、抽取特定區域,或維護文字元素之間的空間關係。

OCR 結果中還有哪些其他屬性? 除了文字和文字座標外,IronOCR 還提供其他資訊。 對於每個文字元素(段落、行、詞彙和個別字元),可提供下列資訊: - **文字**:以字串形式顯示的實際文字。 - **X**:從頁面左邊開始的位置,單位為像素。 - **Y**:從頁面頂端邊緣開始的位置,單位為像素。 - **寬度**:以像素為單位的寬度。 - **高度**:以像素為單位的高度。 - **文字方向**:閱讀文字的方向(從左至右或從上至下)。 - **位置**:以像素表示此文字在頁面上位置的矩形。 這些特質在執行時尤其有用: - 文字高亮與注解系統 - 自動偵測表單欄位 - 文件轉換中的版面保留 - 資料擷取的空間文字分析 為了進行除錯和可視化,請使用 [highlight texts 功能](https://ironsoftware.com/csharp/ocr/examples/highlight-texts-for-debugging/) 來直觀地驗證偵測到的區域精確度。

如何比較段落、行、詞和字? IronOCR 的階層式文字結構可讓開發人員針對其特定使用個案,在適當的細節層級上工作。 瞭解這些元素之間的差異有助於為您的應用程式選擇正確的粒度。 以下是檢測到的段落、行數、字數和字元的比較。
日本科技企業家 Masayoshi Son 和 Yasumitsu Shigeta 的生平簡介精選
以紅色高亮顯示日本科技主管 Masayoshi Son 和 Yasumitsu Shigeta 簡歷的文件
文字高亮功能顯示紅框覆蓋在一段關於技術投資的選定詞彙上
在 OCR 結果中顯示個別字元邊界的字元級文字偵測
每個粒度層級都有不同的目的: - **段落**:最適合文件結構分析和大量文字萃取 - **線條**:有助於維持閱讀順序和處理表格資料 - **詞彙**:搜尋功能和文字分析的理想選擇 - **字元**:非常適合拼字檢查和精確的文字編輯應用程式

IronOCR 可以讀取條碼和 QR 碼嗎? 是的,IronOCR 可以讀取 BarCode 和 QR 代碼。 雖然功能可能不如 IronBarcode 強大,但 IronOCR 提供了對常見條碼類型的支援。若要啟用條碼偵測,請將 **Configuration.ReadBarCodes** 屬性設定為 true。 這種整合功能使 IronOCR 成為處理包含文字和 BarCode 的文件的絕佳選擇,例如發票、出貨標籤或產品目錄。 此外,還可從偵測到的 BarCode 中擷取有價值的資訊,包括格式、值、座標 (x、y)、高度、寬度和位置,作為 `IronSoftware.Drawing.Rectangle` 物件。 [IronDrawing](https://ironsoftware.com/open-source/csharp/drawing/docs/)中的**Rectangle**類別允許在文件上進行精確定位。 如需更進階的條碼讀取情境,請查看我們文件中全面的 [ 條碼讀取範例](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/)。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.cs ```

Barcode 檢測輸出是什麼樣子? IronOCR 中的條碼偵測功能可與文字擷取功能無縫整合,提供包括文字內容和條碼資料的統一結果。 這種雙重能力對於自動化文件處理工作流程非常有價值,因為在這些流程中,兩種資訊類型都需要萃取與關聯。
調試主控台顯示 QR code 和 EAN8 條碼偵測結果,包含格式、值和座標
輸出結果展示了 IronOCR 同時偵測多種條碼類型的能力,為每個偵測到的條碼提供格式識別 (例如 QRCode 或 EAN8)、解碼值和精確的座標資訊。 這些全面的資料可讓開發人員建立複雜的文件處理應用程式,有效率地處理混合的內容類型。

常見問題解答

OcrResult 物件包含哪些資訊?

IronOCR 的 OcrResult 物件包含擷取的文字以及詳細的元資料,包括精確的 X/Y 座標、尺寸 (寬度與高度)、文字方向 (從左至右或從上至下),以及以段落、行、字詞和每個偵測元素的個別字元組織的層級結構。

如何從 OCR 結果中快速擷取第一個字?

您可以使用 IronOCR 的 Read 方法並存取 Words 集合來擷取第一個字的文字: `string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;`.這可立即存取 OCR 結果中的個別字元。

OCR 結果中有哪些類型的座標資料?

IronOCR 為每個偵測到的元素 (段落、行、字和字元) 提供精確的 X 和 Y 座標,以及寬度和高度尺寸。此坐標資料可透過 CropRectangle 物件存取,以實現文字元素的精確位置追蹤。

除了文字內容之外,我還能擷取元資料嗎?

是的,IronOCR 可以擷取全面的元資料,包括 PDF 和影像文件中發現的頁面、段落、行、字、符號,甚至是條碼。OcrResult 物件可存取每個元素的文字方向、層次結構和空間資訊。

哪些文件類型可以處理 OCR 結果?

IronOCR 可以處理各種文件類型,包括掃描文件、照片、螢幕截圖、PDF 和影像檔案。讀取方法在這些格式中運作一致,返回相同結構的 OcrResult 物件,並包含完整的元資料。

擷取的文字在結果中如何組織?

IronOCR 以反映自然文件組織的層次結構來組織擷取的文字。OcrResult 物件會以不同的粒度層級呈現內容 - 從整頁到個別字元 - 讓您可以輕鬆地在適當的層級處理文字,以符合您的應用程式。

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
準備好開始了嗎?
Nuget 下載 5,246,844 | 版本: 2025.12 剛發表