如何提取讀取結果
讀取或 OCR 結果包含大量有關檢測到的段落、行、單詞和單個字符的資訊。對於每個元素,結果提供了一組詳盡的詳細資訊。
對於每個元素,它提供文本內容、精確的 X 和 Y 座標、尺寸。 (寬度和高度), 文字方向 (從左到右或從上到下)和地點在一個 裁剪矩形 物件。
如何提取讀取結果
- 下載 C# 程式庫以訪問讀取結果
- 準備目標圖像和PDF文件
- 使用
讀取
對已導入文件進行OCR的方法 - 訪問結果的X座標、Y座標、寬度、高度和文字方向
- 檢查檢測到的段落、行、詞語和字符比較
立即開始在您的專案中使用IronPDF,並享受免費試用。
查看 IronOCR 上 Nuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變OCR。
Install-Package IronOcr
請考慮安裝 IronOCR DLL 直接下載並手動安裝到您的專案或GAC表單: IronOcr.zip
手動安裝到您的項目中
下載DLLOcrResult 中的數據
結果值不僅包含提取的文本,還提供了 IronOCR 在 PDF 和圖像文檔中發現的頁面、段落、行、單詞、字符和條形碼的信息。您可以使用 Read
方法從返回的 OcrResult 對象中訪問這些信息。
:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Private paragraphs() As Paragraph = ocrResult.Paragraphs
' Output information to console
Console.WriteLine($"Text: {paragraphs(0).Text}")
Console.WriteLine($"X: {paragraphs(0).X}")
Console.WriteLine($"Y: {paragraphs(0).Y}")
Console.WriteLine($"Width: {paragraphs(0).Width}")
Console.WriteLine($"Height: {paragraphs(0).Height}")
Console.WriteLine($"Text direction: {paragraphs(0).TextDirection}")
對於文本的每個部分,如段落、行、詞和單個字符,我們提供以下信息:
- 文本:作為字串的實際文本。
- X:距離頁面左邊緣的像素位置。
- Y:距離頁面頂邊緣的像素位置。
- 寬度:以像素為單位的寬度。
- 高度:以像素為單位的高度。
- 文本方向:閱讀文本的方向,如「從左到右」或「從上到下」。
- 位置:顯示此文本在頁面上的矩形,以像素為單位。
段落、行、單詞和字元比較
以下是檢測到的段落、行、單詞和字元的比較。
段落 | 行 |
Word | 字符 |
條碼和 QR 碼
正確! IronOcr 能夠讀取條碼和 QR 碼。雖然此功能可能沒有 IronBarcode 那麼強大,但 IronOcr 確實提供對常見條碼類型的支援。要啟用條碼偵測,將 Configuration.ReadBarCodes 屬性設置為 true。
此外,從偵測到的條碼中可以提取有價值的信息,包括其格式、數值及坐標。 (x,y)高度、寬度和位置作為IronSoftware.Drawing.Rectangle物件。此Rectangle類別在 鐵繪圖 允許在文件上精確定位。
:path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;
// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
Console.WriteLine("Format = " + barcode.Format);
Console.WriteLine("Value = " + barcode.Value);
Console.WriteLine("X = " + barcode.X);
Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = True
' Add image
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("sample.pdf")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
' Output information to console
For Each barcode In ocrResult.Barcodes
Console.WriteLine("Format = " & barcode.Format)
Console.WriteLine("Value = " & barcode.Value)
Console.WriteLine("X = " & barcode.X)
Console.WriteLine("Y = " & barcode.Y)
Next barcode
Console.WriteLine(ocrResult.Text)
End Using